This will make a simple square move as you drag the mouse anywhere on the buffer using Megaimage and Megaimagetk.
set dir [file dirname [info script]] set ext [info sharedlibextension] load [file join $dir megaimage$ext] load [file join $dir megaimagetk$ext] set size 100 set obj_x 100 set obj_y 50 set canvas_width 600 set canvas_height 800 set obj [megaimage-blank $canvas_width $canvas_height] $obj rectangle 0 0 $canvas_width $canvas_height {0 0 0 255} $obj rectangle $obj_x $obj_y $size $size {255 255 255 255} pack [megaimage.frame .f] -fill both -expand 1 .f size $canvas_width $canvas_height .f objsetimage $obj proc move_start {X Y} { global qx qy set qx $X ; set qy $Y } proc move_motion {X Y} { global qx qy set dx [expr {$X - $qx}] set dy [expr {$Y - $qy}] set qx $X ; set qy $Y global obj global size global obj_x obj_y global canvas_width canvas_height set obj_x [expr {$obj_x + $dx}] set obj_y [expr {$obj_y + $dy}] $obj rectangle 0 0 $canvas_width $canvas_height {0 0 0 255} $obj rectangle $obj_x $obj_y $size $size {255 255 255 255} .f objsetimage $obj } bind .f <1> [list move_start %X %Y] bind .f <Button1-Motion> [list move_motion %X %Y]
ABU 4-jan-2008
Is megaimage/tk fast enough to scroll/zoom a full-screen image without flickering ? (I'm thinking about the "Ken Burns" effect)
SupremeXeN.com KommandEr 2008-12-04
Currently, I would say no. But GPS is working on changing the back-end to be based on OpenGL, so I will say that most definitely it will be able to.