ソフトウェア開発したい日記

「面白い!」と思った頭の体操や、数学の問題を載せていきます
その他ロードバイクででかけた先の写真や、ソフト開発のメモ等

BufferedImageから、getRed、getGreen、getBlue値を取得したい

2010年10月05日 10時45分35秒 | ソフト開発日記
BufferedImageクラスには、getRGBメソッドがあるため
BufferedImage上にお絵かきした後、任意の点のRGB情報を取得することができる。

ただ、getRedやgetGreenメソッドは無く、
getRGBしかない。
RGB値のままでは扱いにくいので、Red値、Green値、Blue値に分けて取得したい。

そこでその方法のメモ。

まずRGB値を利用してColorクラスのインスタンスを作成。
(bufferは、bufferedImageクラスのインスタンス)

Color bufColor = new Color(buffer.getRGB(i, j));

あとは、bufColorからgetRed()メソッド等を利用。

System.out.println("Red = " + bufColor.getRed());

繋げて次のようにするのもあり。

System.out.println("Red = "+ new Color(buffer.getRGB(i, j)).getRed());

意外とすんなりできました。