HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2022
1129
HETAREXPNG画像データの透過仕様について5解決


HETAREX

リンク

2022/11/29(Tue) 18:23:46|NO.97407

gmode2またはgmode4でRGBが全て0の色を含む画像をcelputすると、
透過されている色とは別に、RGBが全て0の色の場所も透過されてしまいます。

ヘルプを見ると、gmode2では「RGBが全て0の色は透明色とみなされコピーされません」、
gmode4では「RGB値が color命令で設定された色と同じドットは透明色とみなされコピーされません」
とありますが、gmode4で任意のcolor命令を実行した後でcelputすると、
透過指定箇所も含めて全て透過されなくなってしまいます。

画像側のRGBが全て0の色を変更する以外にPNG画像側で透過指定した場所だけを
透過させる方法はありますでしょうか?


;HSP3.51でテスト celload "sample.png" , 2 ;透過色及び黒(0,0,0)を含む画像 gsel 0,1 ;1_透過色も黒(0,0,0)も透過される pos 0,0 gmode 2 celput 2 ;2_透過色も黒(0,0,0)も透過される pos 0,32 gmode 4,,,256 celput 2 ;3_一切透過されない pos 0,64 color 1,1,1 gmode 4,,,256 celput 2 stop



この記事に返信する


沢渡

リンク

2022/11/29(Tue) 19:21:12|NO.97408

当方の環境(HSP3.6)で、適当なpngを作って試してみましたが、
1と2では(0,0,0)の箇所だけが透過し、3では(1,1,1)の箇所だけが透過するという
想定通りの動作になりました。
現行の安定版は3.6なので、アップデートしてみるとどうなるでしょうか?



HETAREX

リンク

2022/11/30(Wed) 12:37:21|NO.97413

> 沢渡さん
回答ありがとうございます。
こちらで用意していた画像に不備があったようで、
3.51でもcolor指定した色のみ透過されました。

ただ、その場合は元々png画像で透過指定していた色も透過されなくなってしまう様なので、
png画像の透過指定を生かす場合には、元画像側で0,0,0を使用しない様にするしか
対応方法が無さそうですね。
(これは3.6でも試しましたが同じ結果でした)

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



HETAREX

リンク

2022/12/9(Fri) 19:45:55|NO.97495

すみません、もう解決済にしてしまった後なのですが、
同じ症状で困る人がいた時の為に追記しておきます。

hsp3dishではgmode 2でもgmode 4でも黒(0,0,0)は透過せず、
png画像の透過色のみ透過させることができました。
尚、gmode 4でcolor指定した場合でも指定した色は透過されず、
png画像の透過色のみが透過されました。



メルクーフ

リンク

2022/12/9(Fri) 21:59:01|NO.97497

『png画像の透過指定』ってアルファチャンネルのことかな、と思っていたらそうだったみたいですね。通常のHSPでも右側にアルファチャンネルの画像を置いた物を用意すればgmode 7で好きなように透過させることができます。

 一応こんな物を作ったことがありますが、自分の使いやすいように作ったので他の人には使いにくいかもしれません。
https://www.vector.co.jp/soft/winnt/prog/se522040.html

 また、gmode 7の特性を応用すれば“彼女の部屋に初お泊まり”のように少しずつ画面変化をさせたり、文字にグラデーションを付けたりすることもできます。
https://www.freem.ne.jp/win/game/25764

 なお3.7はどうなのか知りませんが3.6のHSP3Dishではgmode 3以上のp4は\256計算された物になるため完全コピーはできないのでご注意ください。
https://twitter.com/mellkuch/status/1500776600845320192
https://twitter.com/mellkuch/status/1501150679024664576



HETAREX

リンク

2022/12/12(Mon) 12:43:06|NO.97517

> メルクーフさん
詳しい回答有難う御座います。
正しい用語を使用していなかった為、伝わりにくかったようですみません。

dishのgmode 4 のp4は256だと画像が表示されない様に見えたので、
仕様だと思い、特に考えず255迄で使用していましたが、
比較画像をみるとgcopy以外を使用した場合かなり影響が出そうなので
注意が必要ですね。
私はgmode 4ではcelputとgcopyしか使用していなかったので全然気づきませんでしたが、
gzoomあたりはゲーム制作などで使うので要注意ですね。

gmode7は使用したことが無かったので、紹介いただいたツールと合わせて検証したいと思います。
ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.