透過処理について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
パコネコ
記事: 139
登録日時: 10年前
住所: 大阪

透過処理について

#1

投稿記事 by パコネコ » 9年前

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) ;
となっているのですが、
全く透過されてないんです。
何度も黒色なのか確認しましたが、透過したいところは黒色でした。

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

よろしくお願いします
添付ファイル
k6_p1.png
問題の?画像です。
k6_p1.png (4.8 KiB) 閲覧数: 1077 回
ニャン!!\(゜ロ\)(/ロ゜)/

アバター
釣り師
記事: 33
登録日時: 10年前
住所: Stand by me.

Re: 透過処理について

#2

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

png形式の画像でしたら最初から透過処理を施した画像にしてしまえばいいんですよ。
GimpとかPictBearとかで透過処理できますよ。
うひょーい。

アバター
Justy
副管理人
記事: 122
登録日時: 10年前
住所: 神奈川県

Re: 透過処理について

#3

投稿記事 by Justy » 9年前

パコネコ さんが書きました:全く透過されてないんです。
何度も黒色なのか確認しましたが、透過したいところは黒色でした。
 添付された画像はアルファチャンネルを持っているようです。

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

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

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 10年前
住所: 東海地方
連絡を取る:

Re: 透過処理について

#4

投稿記事 by softya(ソフト屋) » 9年前

bmpの場合は、黒に近い色が透過されますがpngの透過はアルファチャンネルじゃないでしょうか?
・・・
画像ファイルを見てみたらアルファチャンネルがあるので、そちらが優先されていると思います。
アルファチャンネルで透過するか、アルファチャンネルを無くしてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
パコネコ
記事: 139
登録日時: 10年前
住所: 大阪

Re: 透過処理について

#5

投稿記事 by パコネコ » 9年前

皆さんありがとうございます。

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

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 10年前
住所: 東海地方
連絡を取る:

Re: 透過処理について

#6

投稿記事 by softya(ソフト屋) » 9年前

DecentLoveさんが書いているソフトとかが定番だと思いますよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
パコネコ
記事: 139
登録日時: 10年前
住所: 大阪

Re: 透過処理について

#7

投稿記事 by パコネコ » 9年前

たびたびすいません
PictBearをダウンロードしてみましたが、できることがおおそうで、
どれを使ったらいいのかまったくわかりません。
どなたかやり方を教えていただけませんか?
(もしくはその辺を説明しているサイト)
ニャン!!\(゜ロ\)(/ロ゜)/

アバター
h2so5
副管理人
記事: 2212
登録日時: 9年前
住所: 東京
連絡を取る:

Re: 透過処理について

#8

投稿記事 by h2so5 » 9年前

(アルファチャンネルのつけ方)

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

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

アバター
パコネコ
記事: 139
登録日時: 10年前
住所: 大阪

Re: 透過処理について

#9

投稿記事 by パコネコ » 9年前

h2so5さんできました。
4のDeleteキーが全然わかりませんでした。
おかげで助かりました。

皆さんのおかげで画像付きのゲームを久しぶりに作れそうです。
ありがとうございました。
ニャン!!\(゜ロ\)(/ロ゜)/

閉鎖

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