hgimg4(hsp3dish)での、gsquareの用法について、下記3点、ご存じでしたら
教えていただけないでしょうか。(本当は③だけのつもりでしたが、なぜか芋づる式に…)
①下記サンプルをそのまま実行した場合、正常にgsquareで表示ができますが(dish)、
1行目のコメントを外して2行目をコメントにした場合、画像が上下反転します(hgimg4)。
これはhgimg4の不具合でしょうか?
②下記サンプルの※Aの2行のコメントを外すと、画像が三角形に変形されます。
しかし、元画像が圧縮されて三角形になるのではなく、微妙に欠けた形で変形されます。
(hgimg4だと逆三角形になって、欠けて変形される)
通常のhsp3だと圧縮されて三角形になるので、これもhgimg4とdishの不具合でしょうか?
※上述①②は、Ver3.6でも3.7でも再現します。
③本当はここが本題だったのですが…
gsquareで台形等に変形した画像を、celputやgrotate等で回転させてから
他画像に重ねる方法はあるでしょうか?
通常のhsp3であれば、下記のような手法になると思います。
1.画面1に、元画像を表示(celload等)
2.画面2に、変形画像を表示(gsquare)
3.画面0に、2で変形した画像を回転させて重ね合わせ(celputやgrotate等)
しかし、hgimg4(dish)では出力は画面0のみ可で、上記2での画像処理はエラー
になってしまうと思います。
大きい画像を変形させたいので、画面0の隅のほうをバッファのように使うのも
難しいかと考えています。
そもそも上記①②が解決しないと、この質問も意味がないですが、
gsquareでは難しい場合、他の命令で画像変形の代替ができるでしょうか?
hgimg4を使用するのは、透過pngを使用したいためです。
他のプラグインは使用しない前提で考えています。
;#include "hgimg4.as" //hgimg4でgsquareを実行すると、画像が上下反転する。
#include "hsp3dish.as" //dishだと上下は正しく表示される
//gsquare用の配列宣言
dim fromx,4
dim fromy,4
dim tox,4
dim toy,4
//スクリーン設定
screen 0,511,511,0
gmode 2
//画像読み込み
celload dir_exe+"\\sample\\hsptv\\face1.png",1,0
; celload "face1.png",1,0
redraw 0
//コピー元座標(左上、右上、右下、左下)
fromx(0)=0
fromx(1)=511
fromx(2)=511
fromx(3)=0
fromy(0)=0
fromy(1)=0
fromy(2)=511
fromy(3)=511
//コピー先座標(左上、右上、右下、左下)
tox(0)=0
tox(1)=511
; tox(0)=255 //※A 変形する場合、コメントを消す
; tox(1)=255 //※A 変形する場合、コメントを消す
tox(2)=511
tox(3)=0
toy(0)=0
toy(1)=0
toy(2)=511
toy(3)=511
gsquare 1,tox,toy,fromx,fromy
redraw 1
ご教授いただけると幸いです。