- - PR -
Java2D:非透過イメージの透明色の指定方法は?
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-03-31 13:48
こんにちは。しれんと申します。
現在JAVA2D APIを使用して、グラフィックライブラリを作成しているのですが JPEGやPNGなどの非透過イメージを表示させる上で「透明色」の指定方法が分からず 苦戦しております。 現在のロジックとしては、javax.io.ImageIOクラスを使用し、以下のような形で イメージをBufferedImageにロードして描画しております。 BufferedImage image = ImageIO.read( "[イメージファイルのパス]" ); g2d.drawImage( image, [X座標], [Y座標], [ImageObserver] ); // ※g2dインスタンスは描画先のGraphics2Dコンテキスト 透過PNGイメージや透過GIFイメージを使用した場合、透明色はそのまま反映される為に解決出来るのですが 非透過イメージを使用して表示した場合に、コードレベルで透明色を指定することは出来るのでしょうか? どうかご教授の程よろしく御願い致します。 | ||||
|
投稿日時: 2005-03-31 13:55
BufferedImage はアルファ成分を持てるので、普通に BufferedImage#setRGB() で透過させられませんか?
| ||||
|
投稿日時: 2005-03-31 14:14
お返事ありがとう御座います。
要旨が伝わりづらくて申し訳ありません。 BufferedImageのアルファブレンディングについてはAlphaCompositeクラスを使用して 実現出来てはいるのですが、今回の要件では、指定色を「抜け色」にしたい(マスキングしたい)のです。 非透過イメージの「抜け色」指定以外に、マスキングで対応出来る方法があればよいのですが・・・。 どうかよろしく御願いします。 | ||||
|
投稿日時: 2005-04-03 00:04
私も以前同じことをしたかったのですが、そのときは、
新しい画像を作り、指定した色だけ透明に置き換えて作りました。
| ||||
|
投稿日時: 2005-04-04 13:24
>a-san
ご回答ありがとう御座います。 Graphics2Dコンテキストなどに何か設定できるパラメータがもしや在るのでは、 と思っていたのですが、やはりPixcel単位の処理が必要なんですね。 参考になりました。ありがとう御座います。 |
1