Canvasでグラフィックを描こう (6/8)
作成:2009-12-29 21:44
更新:2009-12-29 21:44
更新:2009-12-29 21:44
■色を自由に指定するには?
描画で重要となるのは「色」です。先に、色の名前を使って指定をしましたが、これではあまり柔軟な色の指定はできません。そこで、RGBAの輝度を指定して色の値を取得する方法もあげておきましょう。
[Graphics].getColorOfRGB( 赤 , 緑 , 青 );
[Graphics].getColorOfRGB( 赤 , 緑 , 青 , アルファチャンネル );
このgetColorOfRGBは、RGBAのそれぞれの輝度を0~255の整数値で指定します。これにより、指定した色に最も近い色の値が返されます。先ほどのサンプルのpaintメソッドを修正して、実際に簡単なサンプルを作ってみましょう。
ここでは、アルファチャンネルを使い、半透明の色を重ね合わせて描画してみました。こうした効果も、getColorOfRGBを使うことで簡単に実現できます。
[Graphics].getColorOfRGB( 赤 , 緑 , 青 );
[Graphics].getColorOfRGB( 赤 , 緑 , 青 , アルファチャンネル );
このgetColorOfRGBは、RGBAのそれぞれの輝度を0~255の整数値で指定します。これにより、指定した色に最も近い色の値が返されます。先ほどのサンプルのpaintメソッドを修正して、実際に簡単なサンプルを作ってみましょう。
ここでは、アルファチャンネルを使い、半透明の色を重ね合わせて描画してみました。こうした効果も、getColorOfRGBを使うことで簡単に実現できます。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※paintの修正 public void paint(Graphics g) { g.lock(); for (int i = 0; i < 10; i++) { int c = Graphics.getColorOfRGB(0, 255 - 25 * i, 25 * i, 100); g.setColor(c); g.fillRect(i * 15, i * 15, 20 + i * 5, 20 + i * 5); } g.unlock(true); }
※関連コンテンツ