2013-03-08 4 views
0

이미지 처리를 시작하지 않았습니다. Java에서 .jpeg 이미지 파일을 읽고 색상 값을 기반으로 캔버스에 픽셀을 그려야합니다. 즉 모든 검정색 픽셀을 먼저 그린 다음 모든 회색 픽셀을 그어주는 등 ..... 끝에 흰색 픽셀이 있습니다.이미지를 픽셀 단위로 Java에서 그립니다.

이미지를 그리는 방법을 볼 수 있도록 각 픽셀 사이에 매우 작은 간격을 도입하고 싶습니다.

도움을 주시면 감사하겠습니다.

+0

흑백 만 원합니까? 또는 풀 컬러 스펙트럼? –

답변

2

다음은 짧게 정리 된 지침 예제입니다. 이 코드는 이미지에서 RGB 값을 분해합니다. 그런 다음 데이터로 수행해야하는 모든 작업을 수행합니다.

public static BufferedImage exampleForSO(BufferedImage image) { 
    BufferedImage imageIn = image; 
    BufferedImage imageOut = 
    new BufferedImage(imageIn.getWidth(), imageIn.getHeight(), BufferedImage.TYPE_4BYTE_ABGR); 
    int width = imageIn.getWidth(); 
    int height = imageIn.getHeight(); 
    int[] imageInPixels = imageIn.getRGB(0, 0, width, height, null, 0, width); 
    int[] imageOutPixels = new int[imageInPixels.length]; 
    for (int i = 0; i < imageInPixels.length; i++) { 
     int inR = (imageInPixels[i] & 0x00FF0000) >> 16; 
     int inG = (imageInPixels[i] & 0x0000FF00) >> 8; 
     int inB = (imageInPixels[i] & 0x000000FF) >> 0; 

     if ( conditionChecker_inRinGinB ){ 
      // bla bla bla 
     } else { 
      // yada yada yada 
     } 

    } 
    imageOut.setRGB(0, 0, width, height, imageOutPixels, 0, width); 
    return imageOut; 
} 
관련 문제