개발/Java

[JAVA] PixelGrabber

hojak99 2016. 8. 2. 09:31

PixelGrabber 클래스는, Image 오브젝트나 ImageProducer 오브젝트와 접속해 그 이미지의 픽셀의 부분집합을 추출 할 수 있는 ImageConsumer 를 구현한다.


"The PixelGrabber class implements an ImageConsumer which can be attached to an Image to an Image or ImageProducer object to retrieve a subset of the pixels in that image"

-출처 : docs.oracle.com-



[쉽게 말해서 이미지에서 픽셀 정보를 이용할 수 있게 해주는 클래스 인 듯 하다. ]





[그림 1 - PixelGrabber 사용 예제 ]

출처 : docs.oracle.com



이 예제에서 handlesinglepixel 이란 메소드를 보면 의문이  생길 수 있다. 왜 저렇게 rgba 를 구하느냐에 대해서 필자도 궁금해서 검색을 해보았는데 매개변수들 중에 int pixel 이란 매개변수가 있는데 이 int 값에는 각 픽셀에 대한 정보가 포함되어있다.  


00 00 00 00(4 byte)라는 구조로 되어있는데  


첫번 째 바이트는 alpha 값을 나타내고 (쉽게 말해 투명도를 생각하면 된다.)

두번 째 바이트는 Red 값을 

두번 째 바이트는 Green 값을

두번 째 바이트는 Blue 값을 나타내는데 


이것을 int 라는 자료형에서 어떻게 4개의 값을 따로 따로 구분할 수 있는 이유는 handlesinglepixel 메소드에 나와있다시피 비트 연산자와 AND 연산을 이용하여 구분할 수 있다.


그렇게 해서 rgba 를 나타낼 수 있는 것 같다.


- 출처: gnujava.com -

반응형