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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0417
lootgzoom での画面ズームアップ3解決


loot

リンク

2012/4/17(Tue) 08:17:42|NO.46117

こんにちは。
画面にCGを読み込み、それを中心点を中心にしたまま gzoom でズームアップする
方法で悩んでます。
pos 0,0:picload "tmp.jpg",1:;800*600サイズ画面ロード
repeat 70
gzoom 800 , 600 , 0 , cnt , cnt , 800-cnt , 600-cnt , 0
loop
こんな感じで書いてみたのですが、左上のほうにズームしていってしまいます。
ご教授くだされば幸いです。



この記事に返信する


あり

リンク

2012/4/17(Tue) 10:09:10|NO.46120

こちらにサンプルがあるので参考にして下さい。
http://hsp.tv/play/pforum.php?mode=all&num=44510



loot

リンク

2012/4/17(Tue) 12:20:40|NO.46122

合ってるのかどうか定かではありませんが、参考にさせて戴き、動かせました。
一応合ってるかわからないソースを貼っておきます。

gsel 2,0:gcopy 0,0,0,800,600:gsel 0,1
zx = 802 ; 最初に表示するXサイズ
zy = 602 ; 最初に表示するYサイズ
repeat 400
cx = 400 - zx /2 ; 表示するX座標
cy = 300 - zy /2 ; 表示するY座標
pos cx , cy
gzoom zx, zy, 2, 0, 0, 800, 600
zx + 20
zy + 20
loop



あり

リンク

2012/4/17(Tue) 16:14:50|NO.46123

リンク先の私のサンプルは縦横が同じサイズの画像でないと正しく表示できないので
縦横比率を正しく表示できるサンプルを書いてみました。

buffer 1, 800, 600 ; コピー画像用バッファ color 255 : boxf src_x = 800 ; コピーする画像のXサイズ src_y = 600 ; コピーする画像のYサイズ zp_x = double(src_x) / 100 ; 1%分のXサイズ zp_y = double(src_y) / 100 ; 1%分のYサイズ screen 0, 800, 600 zr_x = 10 ; 最初に表示するXサイズの比率(%) zr_y = 10 ; 最初に表示するYサイズの比率(%) center_x = 400 ; 表示の中心座標X center_y = 300 ; 表示の中心座標Y *main redraw 0 color 255, 255, 255 : boxf xsize = int(zp_x * zr_x) ; 表示するXサイズ ysize = int(zp_y * zr_y) ; 表示するYサイズ cx = center_x - xsize / 2 ; 表示するX座標の計算(中心座標X=400) cy = center_y - ysize / 2 ; 表示するY座標の計算(中心座標Y=300) pos cx , cy gzoom xsize, ysize, 1, 0, 0, 800, 600 stick key, 10 ; 上下キーで拡大縮小(1%〜100%) ; ↓limitで1%〜100%までの値に限定 if key & 2 : zr_x = limit(zr_x + 1, 1, 100) : zr_y = limit(zr_y + 1, 1, 100) if key & 8 : zr_x = limit(zr_x - 1, 1, 100) : zr_y = limit(zr_y - 1, 1, 100) title "表示比率=" + zr_x + "% Xサイズ=" + xsize + " Yサイズ=" + ysize redraw 1 wait 1 goto *main



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