gpt4 book ai didi

java - 在java中逐像素绘制图像

转载 作者:行者123 更新时间:2023-11-29 05:47:31 25 4
gpt4 key购买 nike

我没有接触过图像处理。我想在 JAVA 中读取一个 .jpeg 图像文件,并根据颜色值在 Canvas 上绘制像素。即先绘制所有黑色像素,然后绘制所有灰色像素,依此类推......最后绘制白色像素。

我还想在绘制的每个像素之间引入一个非常小的间隙,以便我可以看到图像是如何绘制的。

如有任何帮助,我们将不胜感激。

最佳答案

这是一个简短的说明示例,可帮助您入门。此代码分解图像中的 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 alpha = (imageInPixels[i] & 0xFF000000) >> 24;
int red = (imageInPixels[i] & 0x00FF0000) >> 16;
int green = (imageInPixels[i] & 0x0000FF00) >> 8;
int blue = (imageInPixels[i] & 0x000000FF) >> 0;

// Make any change to the colors.
if ( conditionCheckerForRedGreenAndBlue ){
// bla bla bla
} else {
// yada yada yada
}

// At last, store in output array:
imageOutPixels[i] = (alpha & 0xFF) << 24
| (red & 0xFF) << 16
| (green & 0xFF) << 8
| (blue & 0xFF);

}
imageOut.setRGB(0, 0, width, height, imageOutPixels, 0, width);
return imageOut;
}

关于java - 在java中逐像素绘制图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15297504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com