ページ 11

透過処理について

Posted: 2011年1月13日(木) 23:15
by パコネコ
pngデータの透過処理は黒色の部分が透過されるんですよね・・・

コード:

LoadDivGraph( "data/img/k6_p1.png" , 2 , 2 , 1 , 60 , 60 , teki[i].Img ) ;
 
DrawCircle( 320 , 240 , 100 , GetColor( 255 ,   0 ,   0 ) , 1) ;             // 円を描画(塗りつぶし)
DrawRotaGraph( 320 , 240 , 1.0 , 0.0 , teki[0].Img[0] , TRUE) ;
DrawRotaGraph( 320+30 , 240 , 1.0 , PI  , teki[0].Img[1] , TRUE) ;
となっているのですが、
全く透過されてないんです。
何度も黒色なのか確認しましたが、透過したいところは黒色でした。

何か勘違いしてるのでしょうか?
どうすれば透過できるのかわかる方いらっしゃいましたら教えていただけないでしょうか?
(他に宣言してるか所なども必要なら書いていただければ提示します。)

よろしくお願いします

Re: 透過処理について

Posted: 2011年1月13日(木) 23:18
by 釣り師
png形式の画像でしたら最初から透過処理を施した画像にしてしまえばいいんですよ。
GimpとかPictBearとかで透過処理できますよ。

Re: 透過処理について

Posted: 2011年1月13日(木) 23:30
by Justy
パコネコ さんが書きました:全く透過されてないんです。
何度も黒色なのか確認しましたが、透過したいところは黒色でした。
 添付された画像はアルファチャンネルを持っているようです。

 pngファイルは内部にアルファチャンネルを持っているものと持っていないものがあります。
 黒が透過されるのはアルファチャンネルが無い pngの場合です。
 アルファチャンネルがあるとそちらが優先されますので、黒では透過されません。

 アルファチャンネルを削除して保存しなおすか、黒ではなくアルファチャンネルで透過情報を設定して下さい。

Re: 透過処理について

Posted: 2011年1月13日(木) 23:31
by softya(ソフト屋)
bmpの場合は、黒に近い色が透過されますがpngの透過はアルファチャンネルじゃないでしょうか?
・・・
画像ファイルを見てみたらアルファチャンネルがあるので、そちらが優先されていると思います。
アルファチャンネルで透過するか、アルファチャンネルを無くしてください。

Re: 透過処理について

Posted: 2011年1月14日(金) 00:01
by パコネコ
皆さんありがとうございます。

アンファチャンネルとはどうすれば変更もしくは削除できるのでしょうか?
それともソフトが必要なのでしょうか?
(現在ペイント以外は使ったことないです。)
ペイントで可能なのでしょうか?
そしてチャンネルはどこで見ることができるのでしょうか?

Re: 透過処理について

Posted: 2011年1月14日(金) 00:11
by softya(ソフト屋)
DecentLoveさんが書いているソフトとかが定番だと思いますよ。

Re: 透過処理について

Posted: 2011年1月14日(金) 01:02
by パコネコ
たびたびすいません
PictBearをダウンロードしてみましたが、できることがおおそうで、
どれを使ったらいいのかまったくわかりません。
どなたかやり方を教えていただけませんか?
(もしくはその辺を説明しているサイト)

Re: 透過処理について

Posted: 2011年1月14日(金) 05:24
by h2so5
(アルファチャンネルのつけ方)

1.まず、透過処理前の画像をPictBearで開きます。
2.メニューの「範囲選択」→「色域指定...」
3.色は自動、許容量は0に設定して、OKを押します
4.黒色の部分だけ選択されるので、Deleteキーを押します
5.名前を付けて保存(PNG形式)

(アルファチャンネルの消し方)
PictBearでは無理みたいです。GIMPなら可能です。

Re: 透過処理について

Posted: 2011年1月14日(金) 17:14
by パコネコ
h2so5さんできました。
4のDeleteキーが全然わかりませんでした。
おかげで助かりました。

皆さんのおかげで画像付きのゲームを久しぶりに作れそうです。
ありがとうございました。