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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0122
楽園gzoomについて7解決


楽園

リンク

2007/1/22(Mon) 12:41:14|NO.5003

 前回クリップボードについて質問したものです。今回はgzoomについて質問があります。
短いスクリプトでgzoomのp1の値に-をつけて水平反転や垂直反転をおこうなうと通常通り
反転されるのですが、なぜか(おそらく)長いスクリプト中で実行すると反転されません。
コピーされてないようです。
反転せずに、gzoomを使って普通にコピーするのは問題ないのですが、なぜか反転はできません。
これは、どうしてなのでしょうか?
gzoomは何かと併用したり特別な状況下ではエラーが起こるのでしょうか??



この記事に返信する


As

リンク

2007/1/22(Mon) 13:52:25|NO.5005

明示的なエラーは起きないと思いますが、gzoomを実行した描画先が間違っていたり
ということはないでしょうか?

描画位置(pos)がかなりずれていたりしても正常に描画はされません。



楽園

リンク

2007/1/22(Mon) 14:18:26|NO.5009

当たっていると思われます。
同じ画面にコピーしたり、他の画面にコピーしてまた同じ画面に貼りつけたりしましたが、どちらも-をつけて反転すると表示されません
posもx yともに0にしてます。やっぱりこれも-をつけ反転するとできません。
短いスクリプトだと出来たりするので文法的な間違いなどはないと思います



うひょ

リンク

2007/1/22(Mon) 18:49:37|NO.5014

いつも教えてもらっている側ですが、このスクリプトを
実行すれば分かると思います。

buffer 1,256,256 repeat 256 color cnt,cnt,cnt boxf cnt,0,cnt,256 loop screen 0,512,512 pos 256,256 gzoom -256,-256,1,0,0,256,256



楽園

リンク

2007/1/23(Tue) 16:04:56|NO.5032

>うひょさん
 そのスクリプトは見事に動きましたが、やっぱり解決策がわかりません。
ので、一応自分が書いたスクリプトを載せます。何か間違いはあるのでしょうか?
BaseWidex,BaseWideyに画像(=スクリーン)のサイズx,yが入っていて、
screen 2 に コピー元の画像が表示されています。


gsel 3,0:width BaseWidex,BaseWidey:pos 0,0:gzoom BaseWidex,BaseWidey,2,0,0,BaseWidex,BaseWidey gsel 2,0:color 255,255,255:boxf:pos 0,0:gzoom -BaseWidex,BaseWidey,3,0,0,BaseWidex,BaseWidey

screen 2 からそのままコピーしてもいいのですが、コピーされてるかわかりやすくなるように、
一度screen 2を一度真っ白にしています。-をつけずに反転しない状態では、
普通にコピーできるので、とくにミスはないと思います・・・
反転は短いスクリプトではできるのですが、なぜか、長いスクリプトの中だと思います。



うひょ

リンク

2007/1/23(Tue) 17:37:15|NO.5038


buffer 1,256,256 color 255:boxf screen 0,512,512 gzoom -256,-256,1,0,0,256,256
上の短いスクリプトでもできないときはできません。
でも、下のスクリプトではできます。

buffer 1,256,256 color 255:boxf screen 0,512,512 pos 255,255 gzoom -256,-256,1,0,0,256,256
気付きませんか?カレントボジションは255,255なのに0,0から描画されていることに。



As

リンク

2007/1/23(Tue) 18:02:29|NO.5041

うひょさんズバリつきましたね。

うひょさんのスクリをおかりしてマウスで動くようにしてみました。


buffer 1,256,256 repeat 256 color cnt,cnt,cnt boxf cnt,0,cnt,256 loop screen 0,512,512 pos 256,256 gzoom -256,-256,1,0,0,256,256 sysfont 17 *mainloop redraw 0 color boxf pos 256,256 gzoom mousex-256,mousey-256,1,0,0,256,256 color 255:pos mousex,mousey-12:mes "描画終了位置("+mousex+","+mousey+")" pos 256,256:mes "描画開始位置(256,256)" if mousex<256:pos 5,5:mes "拡大サイズがマイナスになるとカレントポジション(0,0)を越す(=0よりまえに描画される)" title "gzoom "+(mousex-256)+","+(mousey-256)+",1,0,0,256,256 redraw 1 wait 1 goto *mainloop



楽園

リンク

2007/1/24(Wed) 22:43:58|NO.5104

解決しました^^
ちゃんと見れば気づきそうなところを見落としていましたね(^^;
もうちょっとちゃんと見てから質問し直すようにします。。
どうもありがとうございましたm(_ _)m



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