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


HSPTV!掲示板


未解決 解決 停止 削除要請

2023
0125
困ってる人画像位置でのαチャンネル判別6未解決


困ってる人

リンク

2023/1/25(Wed) 17:28:32|NO.99027

状況
 ・画像をボタンにする(クリックすることで何か起きる)ことをしようとしている
 ・透明化の部分は判定外にしたい

現在考えている方法
 ・バイナリデータから見る(圧縮を考えねばならないのが難点)
 ・celloadを利用して、画像をロードした画面内から黒色か確認する
  (画像内での黒色を使用した場合判別できない)

確実に判別するならバイナリデータからが一番なのかと考えていますが、
圧縮のを解くのが難しいと聞いているので、できれば別の方法を取りたいと考えています。

何か良い判別方法、もしくは圧縮を解く方法をご存じの方は書き込んで下さるとうれしいです。



この記事に返信する


メルクーフ

リンク

2023/1/25(Wed) 19:05:55|NO.99028

 gmode 7用の画像なら右側のアルファチャンネル部分をpgetすればご希望どおりのことができると思います。

 もしもご自身であらかじめご用意された画像だけを使われるのなら、透過PNGをgmode 7用画像に変換して保存するソフトを公開しているのでこちらをご利用いただくこともできます。
https://www.vector.co.jp/soft/winnt/prog/se522040.html

 あるいは任意の画像を使用できるようにしたいのであれば上記ソフトでも使っているp2b.dllというプラグインを使えば自作アプリ内でgmode 7用の画像に変換して使用できます。
 ただこのプラグインはサービス終了したジオシティーズで配布されていた物なので現在入手先があるのかどうか知りません。再配布可とあるので必要なようでしたら私の方で再配布いたしますが。



Hda

リンク

2023/1/25(Wed) 20:27:46|NO.99029

メルクーフさんの書かれた方法で、Artlet2Dを使えばできると思います。


#include"a2d.hsp" screen 0 ; 画像ファイルから仮想イメージを作成 alCreateImageByFile 1, "test.png" ; アルファチャネルをグレースケールに変換 cmatrix(MAT_R) = 0.0, 0.0, 0.0, 1.0, 0.0 cmatrix(MAT_G) = 0.0, 0.0, 0.0, 1.0, 0.0 cmatrix(MAT_B) = 0.0, 0.0, 0.0, 1.0, 0.0 cmatrix(MAT_A) = 0.0, 0.0, 0.0, 0.0, 1.0 ; カラーマトリックス コピーモードを設定 alCopyModeColorMatrix cmatrix ; 仮想イメージ 0 から HSP スクリーン 0 に画像をコピー alCopyImageToScreen 1, 0 redraw



MIZUSHIKI

リンク

2023/1/26(Thu) 04:24:15|NO.99030

Artlet2D を使うのでしたら、直接ピクセルを参照してアルファ値を取得できますよ。

#include"a2d.hsp" ; 画像ファイルから仮想イメージを作成 alCreateImageByFile 0, dir_tv+"runner.png" ; 仮想イメージ 0 から HSP スクリーン 0 に画像をコピー alCopyImageToScreen 0, 0 redraw repeat title "アルファ値 = " + ARGB_A( alGetPixel(mousex, mousey) ) wait 1 loop



困ってる人

リンク

2023/1/26(Thu) 11:27:34|NO.99031

>>メルクーフさん
  
  アプリ、dllファイルのことを教えてくださりありがとうございます。できれば任意の画像
 を使用してボタンを作れるようにしたいので、p2b.dllの配布をして下さるとありがたいで
 す。

>>Hdaさん
  
  プログラムの事例を教えてくださりありがとうございます。a2d.hspファイルは使ったこと
 がないので、実験しながらになりますが、やってみます!



困ってる人

リンク

2023/1/26(Thu) 11:30:38|NO.99032

>>MIZUSHIKIさん
  
 プログラムの事例を教えてくださりありがとうございます。a2d.hspは使ったことがないので
実験しながらになりますがやってみます!



メルクーフ

リンク

2023/1/26(Thu) 19:35:49|NO.99034

 p2b.dllとついでにovplay.dllの再配布を開始しました。
https://mellkuch.web.fc2.com/rd.html

 私はgmode 3以上の使い方を知らなかった頃にいろいろできそうだと思ってArtlet2Dを使ってみようとしたことがありましたが、どうにもうまく使いこなせず絶対必要というものでもなかったのでさっさと使用をあきらめた経験があります。



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