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 です。ただし、特定のピクセルを画像に挿入すると、少し奇妙な結果が得られます。一桁であること。
より信頼性の高い結果が得られる代替ソリューションはありますか?
どうもありがとう。