暇人さんの考え方が有効ですね。
以下、サンプル
oposx = 200 ;中心座標X
oposy = 160 ;中心座標Y
zoomaddx = 2 ;1ループでズームするXドット数
zoomaddy = 2 ;1ループでズームするYドット数
buffer 1
; 画像から読み込む場合
picload "???" //ファイル名
pic_sx = ginfo_winx ;元の画像サイズX
pic_sy = ginfo_winy ;元の画像サイズY
bg_pic_sx = pic_sx ;始めの画像サイズX
bg_pic_sy = pic_sy ;始めの画像サイズY
gsel 0
repeat 32 //回数を指定
cr_pic_sx = bg_pic_sx+zoomaddx*cnt ;今の表示画像サイズX
cr_pic_sy = bg_pic_sy+zoomaddy*cnt ;今の表示画像サイズY
color 255,255,255 ;背景色
;背景をクリア
boxf oposx - cr_pic_sx/2 , oposy - cr_pic_sy/2 , cr_pic_sx , cr_pic_sy
;位置を指定
pos oposx - cr_pic_sx/2 , oposy - cr_pic_sy/2
;変倍コピー
gzoom cr_pic_sx , cr_pic_sy , 1 , 0 , 0 , pic_sx , pic_sy , 1
wait 50 //待ち時間
loop
stop
解説する気力ないので、頑張って読み解いてみてください。
そんなに難しくないはずです。たぶん。