ページ 11

透過処理がうまくいかない

Posted: 2010年9月18日(土) 21:19
by Ultimate
添付した画像を現在作成中の弾幕ゲームの自機として表示したいのですが、うまく透過されません。

ファイル名はjimg拡張子はPNGで、BMPにして試すとうまくいくのですが、色がおかしくなるのでPNGで行きたいです。

ソースは

int jiki;
jiki=LoadGraph(jimg.png);
//~~~略~~~
DrawGraph(0,0,jiki,TRUE);

です。

なぜできないのでしょうか?

Re:透過処理がうまくいかない

Posted: 2010年9月18日(土) 21:20
by Ultimate
ソース部分の修正

int jiki;
jiki=LoadGraph("jimg.png");
//~~~略~~~
DrawGraph(0,0,jiki,TRUE);

Re:透過処理がうまくいかない

Posted: 2010年9月18日(土) 21:22
by シエル
アルファ情報が含まれているんじゃないですか?

画像をペイントで開いて、そのままPNGで保存しなおせば確かアルファ情報は消えたかと。

Re:透過処理がうまくいかない

Posted: 2010年9月18日(土) 21:24
by Ultimate
一度ペイントで開いて、その後上書き保存しましたが、うまくいきませんでした。

引き続き回答をお願いいたします。

Re:透過処理がうまくいかない

Posted: 2010年9月18日(土) 21:27
by Ultimate
ファイルの詳細も載せておきます。

●イメージ
大きさ:24×24
幅:24ピクセル
高さ:24ピクセル
ビットの深さ 32

●ファイル
名前:jimg.png
種類:PNGファイル
サイズ:1.41KB
属性:A

です。

Re:透過処理がうまくいかない

Posted: 2010年9月18日(土) 21:29
by 釣り師
アルファ情報を削除してみた、つもりです。
一応添付しておきます。

使ってみてください。

Re:透過処理がうまくいかない

Posted: 2010年9月18日(土) 21:32
by Ultimate
すみませんが、うまくいきませんでした。

もう一か所透過処理をしている画像があり、そちらがうまくいっているので詳細を見てみたところ、ビットの深さが24になっていました。

なのでこの画像のビットの深さが32なのが原因かもしれません。


引き続き回答お願いします。

Re:透過処理がうまくいかない

Posted: 2010年9月18日(土) 21:36
by シエル
グラフィックソフトで透明色指定して作ったほうが手っ取り早いですよ。

Re:透過処理がうまくいかない

Posted: 2010年9月18日(土) 21:37
by 釣り師
なんだか8bitになってしまいましたが、ビットの深さを下げてみました。どうでしょうか?

Re:透過処理がうまくいかない

Posted: 2010年9月18日(土) 21:39
by Ultimate
ビットの深さの変更で解決しました。

http://okwave.jp/qa/q5581022.htmlを参考に

Swellというソフトでビットの深さを24にして保存してみたら成功しました。

透過はビットの深さが32ではだめなのですね。

ありがとうございました。

Re:透過処理がうまくいかない

Posted: 2010年9月18日(土) 21:41
by 釣り師
できたようでなによりです