【发布时间】:2016-05-19 04:25:50
【问题描述】:
我有以下代码,它创建灰度 BufferedImage,然后设置每个像素的随机颜色。
import java.awt.image.BufferedImage;
public class Main {
public static void main(String[] args) {
BufferedImage right = new BufferedImage(100, 100, BufferedImage.TYPE_BYTE_GRAY);
int correct = 0, error = 0;
for (int i = 0; i < right.getWidth(); i++) {
for (int j = 0; j < right.getHeight(); j++) {
int average = (int) (Math.random() * 255);
int color = (0xff << 24) | (average << 16) | (average << 8) | average;
right.setRGB(i, j, color);
if(color != right.getRGB(i, j)) {
error++;
} else {
correct++;
}
}
}
System.out.println(correct + ", " + error);
}
}
在大约 25-30% 的像素中出现了奇怪的行为,我设置了颜色,然后它的值与之前设置的不同。我设置颜色的方式不对吗?
【问题讨论】:
-
@JoopEggen 刚刚测试过,你是对的,你应该把它作为答案发布。
标签: java bufferedimage