2016-06-08 7 views
-2

Может ли кто-нибудь помочь мне и рассказать мне, как создать изображение в виде серой шкалы, где один пиксель изображения показан как квадрат размером 2 x 2?Как создать изображение в оттенках серого, использующее java

я уже искал помощи и нашел это how to create a gray scale image from pixel values using java, но я не знаю, как создать серую шкалу с информацией, что один пиксель отображается в виде квадрата с размером 2 х 2.

спасибо!

+0

Можете ли вы добавить макет пикселя, который вы надеетесь достичь на вопрос, пожалуйста? – Peter

ответ

0

Чтобы создать изображение, в котором каждый пиксель имеет размер 2x2, вы должны либо масштабировать изображение (коэффициент 2) только для отображения ... или если вы хотите создать изображение, вы должны сделать это вручную и создать изображение и рисовать с масштабным коэффициентом 2 на нем

int[] pixels = ... //we already have our gray scale pixels here 
int widthOriginal = ... //size of original image 
int heightOriginal = ... 

//let's create an buffered Image twice the size 
BufferedImage img = 
    new BufferedImage(2*widthOriginal, 2*heightOriginal, BufferedImage.TYPE_4BYTE_ABGR); 

//we paint on the buffered image's graphic... 
Graphics gr = img.getGraphics(); 

//we draw all pixels on the graphic 
for(int y = 0; y < heightOriginal; y ++){ 
    for(int x = 0; x < widthOriginal; x ++){ 
     int index = y*widthOriginal + x; 
     int gray = pixels[index]; 

     //to draw we first set the color 
     gr.setColor(new Color(gray)); 

     //then draw the pixel 
     gr.drawRect(2*x, 2*y,2,2); //draw a 2x2 pixel instead of a 1x1 pixel 
    } 
} 

хм - честно говоря, я уже писал, что код полностью из моей головы, так что могут быть некоторые незначительные проблемы компиляции ... но техника объясняется правильно ...