2011-04-22 2 views
2

PNG 형식으로 인코딩 된 비트 맵이 있습니다. 검은 색은 어디에서 흰색인지 확실히 결정하는 방법?BufferImage : 픽셀 색상을 확실히 결정하는 방법

  final int[] p = new int[1]; 
      int iter = 0; 
      for (int i = 0; i < image.getWidth(); i++) { 
       for (int j = 0; j < image.getHeight(); i++) { 
        pixels[iter] = image.getData().getPixel(i, j, p)[0]; 
        iter++; 
       } 
      } 

항상 1 픽셀 당 1을 반환합니다.

답변

0
BufferedImage image = ImageIO.read(file); 
// Getting pixel color by position x=100 and y=40 
int clr= image.getRGB(100,40); 
int red = (clr & 0x00ff0000) >> 16; 
int green = (clr & 0x0000ff00) >> 8; 
int blue = clr & 0x000000ff; 

적색, 녹색 및 청색은 X = 100, Y = 40

에서 픽셀의 RGB 값이됩니다
0

이미지 인코딩 방법에 따라 픽셀은 하나의 정수 Sa로 채워집니다. 예를 들어 BufferedImage.TYPE_4BYTE_ABGR 높은 바이트는 알파, 파란색, 녹색, 빨간색 순입니다.

관련 문제