トップページ > 過去ログ > 記事閲覧
透過色
名前:さかな 日時: 2009/02/28 19:01

DrawGraphでの透過色なのですが、 透過色が黒で、画像中に黒を使いたかったので、 (R,G,B)=(0,0,1)というような色を使ったところ、 そこも透過されてしまいました。 透過色には誤差があるのでしょうか?

Page: 1 |

Re: 透過色 ( No.1 )
名前:K_T 日時:2009/03/02 10:18

DrawGraph等で透過処理を有効にした場合、 リファレンスでは『限りなく黒に近い色が透過処理される』とあるので、 ( R, G, B ) = ( 1, 1, 1, )または ( R, G, B ) = ( 2, 2, 2, )等にしてみてはどうでしょうか? でなければ、SetTransColorで明示的に透過色を指定し、その後で画像を表示してみてはどうでしょうか? 実際にテストした訳ではないので、確信は無いのですが・・・
Re: 透過色 ( No.2 )
名前:Will 日時:2009/03/02 10:26

> (R,G,B)=(0,0,1)というような色を使ったところ、 画像のほうで(0,0,1)という色を使われたってことですよね。 画像ソフトや画像の保存形式によっては保存時に最適化されて (0,0,1)が(0,0,0)に変換されてしまう場合がありますがその辺は大丈夫でしょうか? 透過色に誤差はなかったと思います。
Re: 透過色 ( No.3 )
名前:さかな 日時:2009/03/02 18:18

K_Tさん SetTransColorも使ってみたのですが、だめでした。 Willさん >画像ソフトや画像の保存形式によっては保存時に最適化されて はい、そのようなことはありません。 あとで別のソフトで開いたところ、そのままでした。 今はとりあえずぜんぜん違う色を透過色にしているのですが、 誤差があるともんだいがあるのではないかと... 環境によって違うということは無いのでしょうか?
Re: 透過色 ( No.4 )
名前:Will 日時:2009/03/02 18:38

SetGraphModeのColorBitNum は何に設定していますか? (もしくはディスプレイプロパティの画面の色) 24ビット以上の場合は問題ないですが、16ビットの場合は(0,0,1)と(0,0,0)では差が出ない と思います。
Re: 透過色 ( No.5 )
名前:さかな 日時:2009/03/02 19:24

はい、24ビットにしています。
Re: 透過色 ( No.6 )
名前:さかな 日時:2009/03/02 19:38

それと、絵自体も24bitです。 ソフトウェアはGraphicsGaleを使っています。 ソフトによってヘッダの書き方が違うとかでしょうか?
Re: 透過色 ( No.7 )
名前:ma-. 日時:2009/03/03 01:05

 私も同じ現象に遭いまして, 透過したくない黒を RGB(10,10,10) まで上げています。正確な検証はしていませんが, RGB(5,5,5) 程度では透過されてしまいました。  まぁ人間の見た目にはあまり影響がないと大雑把な判断をし(笑), RGB(10,10,10)でコンパイルしています(^^;
Re: 透過色 ( No.8 )
名前:管理人 日時:2009/03/03 01:11

すいません、ご返信したつもりでいたのですが 文章をテキストファイルに書いた後、掲示板に書き込むのを忘れていました 画面が16bitモードの環境でソフトを実行すると、扱う画像も 16bit カラーとなります ( SetGraphMode で32ビットカラーを指定していても、ウインドウモードでデスクトップ画面が 16bitカラーの場合は 16bitカラーモードとして動作します ) その結果色の精度が落ちるので、1などの小さな値は0となってしまい、透過色である (R,G,B)=(0,0,0) と同じになるという現象がおきてしまいます なので、透過色が黒の場合に確実に透過されないようにするには8以上の色を使う必要があります
Re: 透過色 ( No.9 )
名前:さかな 日時:2009/03/04 19:06

みなさん返信ありがとうございます。 仕方ないのですね。 これからは輝度の高い色を使うようにします。

Page: 1 |