ピクセルのRGBカラーからColorオブジェクトを作成する必要があります(PNGファイルを読み取るBufferedImageオブジェクトの場合、BufferedImage色空間はBufferedImage.TYPE_4BYTE_ABGRです)。ただし、一部の色には問題があります。以下のコードと出力を参照してください。それはある種の色空間の問題だと思いますが、それを解決する方法がわかりません):ヒントをありがとう!
// imagine some great loop for x,y around the following code
int color = myImage.getRGB(x, y);
Color c = new Color(myImage.getRGB(x, y));
if(c.getRGB() != color)
System.out.println("fail " + color + " vs " + c.getRGB());
出力:
fail -116782582 vs -16119286
fail 0 vs -16777216
fail 117440511 vs -1
fail -1090519040 vs -16777216
fail 1488435127 vs -4737097
fail -1090453247 vs -16711423
といくつか。役立つ場合:たとえば、透明度が黒になります。新しいColorオブジェクトはBufferedImage以外の色空間を使用していると思いますが、新しいColorオブジェクトの色空間を設定する方法がわかりませんか?それとも、RGB情報だけでは色を再現するのに十分ではありませんか?