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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Ultimate

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

#1

投稿記事 by Ultimate » 15年前

添付した画像を現在作成中の弾幕ゲームの自機として表示したいのですが、うまく透過されません。

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

ソースは

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

です。

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

Ultimate

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

#2

投稿記事 by Ultimate » 15年前

ソース部分の修正

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

シエル

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

#3

投稿記事 by シエル » 15年前

アルファ情報が含まれているんじゃないですか?

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

Ultimate

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

#4

投稿記事 by Ultimate » 15年前

一度ペイントで開いて、その後上書き保存しましたが、うまくいきませんでした。

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

Ultimate

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

#5

投稿記事 by Ultimate » 15年前

ファイルの詳細も載せておきます。

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

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

です。

釣り師

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

#6

投稿記事 by 釣り師 » 15年前

アルファ情報を削除してみた、つもりです。
一応添付しておきます。

使ってみてください。

Ultimate

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

#7

投稿記事 by Ultimate » 15年前

すみませんが、うまくいきませんでした。

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

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


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

シエル

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

#8

投稿記事 by シエル » 15年前

グラフィックソフトで透明色指定して作ったほうが手っ取り早いですよ。

釣り師

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

#9

投稿記事 by 釣り師 » 15年前

なんだか8bitになってしまいましたが、ビットの深さを下げてみました。どうでしょうか?

Ultimate

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

#10

投稿記事 by Ultimate » 15年前

ビットの深さの変更で解決しました。

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

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

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

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

釣り師

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

#11

投稿記事 by 釣り師 » 15年前

できたようでなによりです

閉鎖

“C言語何でも質問掲示板” へ戻る