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