如何使用java创建灰度图像

时间:2016-06-08 21:32:24

标签: java image pixel grayscale

任何人都可以帮助我并告诉我如何创建灰度图像,其中图像的一个像素显示为尺寸为2 x 2的正方形?

我已经搜索过帮助并找到了这个how to create a gray scale image from pixel values using java,但我不知道如何使用一个像素显示为大小为2 x 2的正方形的信息来创建灰度。

谢谢!

1 个答案:

答案 0 :(得分: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
    }
}
嗯 - 老实说,我完全没有把这些代码写出来,所以可能会有一些小的编译问题......但是技术得到了恰当的解释......