http://hsp.tv/play/pforum.php?mode=pastwch&num=11071
そのなかのosakanaさんの書いたソースなんですが、
[osakanaさんは書きました] hspcv は結構癖がある印象ですね。 書いてるうちにもっと簡単なやり方があるのではと心配になってきましたが 一応少しでも参考になる事を祈りつつ。 #include "hspcv.as" // 読み込み dialog "",16 :if stat = 0 :end exist refstr :if strsize = -1 :end cvload refstr,0 :if stat ! 0 :end // サイズ取得 cvgetinfo sizex,0,CVOBJ_INFO_SIZEX :sizex=double(sizex) cvgetinfo sizey,0,CVOBJ_INFO_SIZEY :sizey=double(sizey) winx=double(GINFO_WINX) winy=double(GINFO_WINY) // 画像がウィンドウ内に納まるかな〜処理 if (winy/winx) >= (sizey/sizex) { x=winx :y=sizey/sizex*winx } else { y=winy :x=sizex/sizey*winy } cvresize x,y,0 // ウィンドウぴったりに拡大縮小 cvbuffer 1,winx,winy // メイン画像回転用バッファ cvbuffer 2,winx,winy // マスク画像コピー元バッファ cvxors 255,255,255,2 // マスクの色 cvbuffer 3,winx,winy // マスク回転用バッファ cvarea 0,0,x,y buffer 1,winx,winy // 回転用バッファの転送先 buffer 2,winx*2,winy // ピクセルアルファーブレンドコピー用バッファ buffer 3,winx,winy // メインウィドウの背景用バッファ // 適当に背景作成して見る repeat 10 :cy=cnt repeat 10 :cx=cnt color 127-(cx+cy&1)*63,127+(cx+cy&1)*127,255 boxf cx*winx/10,cy*winy/10,cx*winx/10+winx/10,cy*winy/10+winy/10 loop loop repeat redraw 0 // 画像回転 cvbuffer 1,winx,winy cvcopy 0,(winx-x)/2,(winy-y)/2,1,CVCOPY_SET cvrotate cnt\360,1.0,0.0,0.0,,1 // マスク回転 cvbuffer 3,winx,winy cvcopy 2,(winx-x)/2,(winy-y)/2,3,CVCOPY_SET cvrotate cnt\360,1.0,0.0,0.0,,3 // ピクセルアルファーブレンド用のバッファ準備 gsel 1 :cvgetimg 1 gsel 2 :pos 0,0 :gcopy 1,0,0,winx,winy gsel 1 :cvgetimg 3 gsel 2 :pos winx,0 :gcopy 1,0,0,winx,winy // メインウィンドウにコピー gsel 0 pos 0,0 gmode 0 :gcopy 3,0,0,winx,winy // 背景画像(通常コピー) gmode 7 :gcopy 2,0,0,winx,winy // メイン画像(ピクセルアルファーブレンド) redraw 1 await 30 loop
このソースを実行したところ、画像を選択→回転開始という順序のようです。
これをpicloadといった指定画像の読み込みに変えたいのですが、
どのようにしたらよろしいでしょうか?
ご教示おねがいします。