Version 0 of animngext

Updated 2007-09-24 10:35:57 by GPS

George Peter Staplin Sep 24, 2007 - Animngext is a portable Tcl extension that uses animng and megaimage. It's available from megapkg

Here's an example demo:

 set dir [file dirname [info script]]
 source [file join $dir demoarch.tcl]

 set fd [open [lindex $argv 0] r]
 fconfigure $fd -translation binary

 set obj [animng [read $fd]]
 close $fd

 set frames [$obj gettotalframes]
 set images [list]
 for {set i 0} {$i < $frames} {incr i} {
  set image [list]
  lappend image [$obj getframe x y delay]
  lappend image $delay
  lappend images $image
 }

 proc next-image {images mobj step} {
  lassign [lindex $images $step] data delay
  $mobj setdata $data
  .f objsetimage $mobj
  puts "$step $delay"
  incr step
  if {$step >= [llength $images]} {
   set step 0
  } 
  after $delay [list next-image $images $mobj $step]
 }

 megaimage.frame .f
 .f size 300 300
 pack .f -expand 1 -fill both
 set mobj [megaimage-blank 1 1]
 next-image $images $mobj 0

Note: to destroy an animng instance use: rename $inst {} Currently there is no support for writing animng files from Tcl. It's hoped that in the future this will be done...


Category Graphics