我正在寻找使用我在 Photoshop 中创建的非常粗略的高度图来为我定义一个平铺的等距网格:
地图:http: //i.imgur.com/jKM7AgI.png
我的目标是遍历图像中的每个像素,并将该像素的颜色转换为我选择的比例,例如 0-100。
目前我正在使用以下代码:
try
{
final File file = new File("D:\\clouds.png");
final BufferedImage image = ImageIO.read(file);
for (int x = 0; x < image.getWidth(); x++)
{
for (int y = 0; y < image.getHeight(); y++)
{
int clr = image.getRGB(x, y) / 99999;
if (clr <= 0)
clr = -clr;
System.out.println(clr);
}
}
}
catch (IOException ex)
{
// Deal with exception
}
这在一定程度上有效;位置 0 处的黑色像素为 167,位置 999 处的白色像素为 0。但是,当我将某些像素插入到图像中时,我得到了一些奇怪的结果,例如,非常接近白色的灰色像素返回超过 100,而我期望它是个位数。
有没有我可以使用的替代解决方案来产生更可靠的结果?
非常感谢。