私はJavaでRGB値を扱うのが本当に苦手なので、これを使って小さな実験を始めました。
私はこれに行き着きました: 画像をロードし、RGB 値を取得し、同じ値で新しい画像を作成します。残念ながら、次のコードのように、これは機能しません (画像の表示が異なります。画像を参照してください)。
BufferedImage oriImage=ImageIO.read(new URL("http://upload.wikimedia.org/wikipedia/en/2/24/Lenna.png"));
int[] oriImageAsIntArray = new int[oriImage.getWidth()*oriImage.getHeight()];
oriImage.getRGB(0, 0, oriImage.getWidth(),oriImage.getHeight(), oriImageAsIntArray, 0, 1);
BufferedImage bfImage= new BufferedImage(oriImage.getWidth(),oriImage.getHeight(),
BufferedImage.TYPE_INT_ARGB);
bfImage.setRGB(0,0,bfImage.getWidth(),bfImage.getHeight(),oriImageAsIntArray, 0, 1);