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


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0220
Ponyoα値が存在している画像(png)の正確な透過方法とは?4解決


Ponyo

リンク

2019/2/20(Wed) 19:28:35|NO.86611

太陽の時間も長くなってきました。私はまた風邪気味です...(+_+)
さて、今回はα値(透明度)の存在している画像を正確に透過させる方法。
いわゆる gmode 2 または 4 で使用して画像を表示していたのですが、
問題が起きましたので今回質問させていただきます。

ある画像(png)を読み込み、描画させたら輪郭色が完全に消えてしまいました。
原因としては輪郭色が完全に黒だったからと考えているのですが...
gmode 2 でも 4 でも当たり前の様に失敗してしまいました(*´Д`)

https://www.google.com/search?q=%E9%80%8F%E9%81%8E+%E6%B1%9A%E3%81%84&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjWgdP8i8rgAhWLErwKHfxABa4Q_AUIDigB&biw=1536&bih=754#imgrc=Z-LPoMSDAwJuwM:
実行結果は↑の画像の白の部分みたいな感じです。

いろいろ調べたのですが、
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11103156456
透明と調べたら gmode gmode gmode...となかなか検索が見つかりませんでした。

何方か、輪郭色も消えない画像のコピーの方法を教えてくださると幸いです。
よろしくお願いします。



この記事に返信する


Ponyo

リンク

2019/2/20(Wed) 19:34:12|NO.86613

追記です。
紹介した画像のような画像は全部で100を超えてしまうので、
透明色を全部青(BB)にして透明色を青にするとかの案以外でよろしくお願いします。
質問者がいろいろ決めるのはアレですが、どうかご理解下さると嬉しいです(*'▽')



Cube

リンク

2019/2/20(Wed) 20:21:07|NO.86614

bufferに描画してgcopyでコピーしなくても良いのなら
picload単体でアルファチャンネルを適用できますよ


title "ウィンドウを初期化してロード" picload "picture.png",0 screen 1 title "現在の画面の上にロード" pos 50,50 picload "picture.png",1

gcopyでコピーする方法はgmodeしか思いつきません...

あとはここが参考になるかもしれません
http://www.hsp.tv/play/pforum.php?mode=pastwch&num=57945



GENKI

リンク

2019/2/20(Wed) 22:48:27|NO.86617

> gmode 2 でも 4 でも当たり前の様に失敗してしまいました(*´Д`)

アルファチャンネル付きのpng画像なら当たり前ですね。
アルファチャンネルはRGB同様256段階の透明度情報を持っています。
単色ではありません。
標準命令では不可能なので、標準付属のモジュールArtlet2Dを使用してください。

どうしても標準命令だけでやりたい場合は、png画像を事前に加工してgmode 7という手もあります。


なお、Dishでは動作が異なります。
gcopy等でもアルファチャンネルが有効になります。gmode 2〜6でアルファチャンネルが有効です。
詳しくは「HSP3Dish プログラミングマニュアル・基本仕様ガイド 5.gmode命令について」を読んでください。



Ponyo

リンク

2019/2/21(Thu) 08:18:54|NO.86623

>Cubeさん GENKIさん
http://www.hsp.tv/play/pforum.php?mode=pastwch&num=57945
Artlet2DというよりAPIの集合体。
やはり標準命令ではなくAPIを使用するのが一番だそうですね!(*'▽')
ソースコード、情報提供、本当にありがとうございます。
無事、輪郭色もキチンと描画されました(*;∀;*)



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