/tips/java/java2d **PNG画像でピクセル走査する PNGなどの画像は、「インデックスカラー」というモード(BufferedImage.TYPE_BYTE_INDEXED)で読み込まれるので、そのままの状態でgetRGB(x,y)メソッドを使用しても、正しい色情報を得ることができません。ちょっと荒っぽい方法ですが、RGBモードで同サイズの画像を用意して、そこに描画することで、(新しい画像の方で)ピクセル単位の走査(操作)ができるようになります。
:BufferedImage bi = ImageIO.read(pngfile); :BufferedImage nbi = new BufferedImage(bi.getWidth(), bi.getHeight(), : BufferedImage.TYPE_INT_ARGB); : :nbi.createGraphics().drawImage(bi, 0, 0, null); : :// これでやっとgetRGB,setRGBが正しく使える
この記事は役に立ちましたか?
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について