**Timing Photo Image Loading under Pixane** This page is under development. Comments are welcome, but please load any comments in the comments section at the bottom of the page. Please include your wiki MONIKER and date in your comment with the same courtesy that I will give you. Aside from your courtesy, your wiki MONIKER and date as a signature and minimal good faith of any internet post are the rules of this TCL-WIKI. Its very hard to reply reasonably without some background of the correspondent on his WIKI bio page. Thanks, [gold] 12Dec2018 ---- <> **Preface** ---- [gold] Started roughly 2011-05-28. Here is an eTCL script to estimate timing photo image loading under [pixane]. ---- **Introduction** ---- This script was largely derived from posting of [Eric Hassold] on [comp.lang.tcl] The timing statements were pulled from the program below after the timing info was calculated. The impetus for the script was an [ask9] question about time of "loading single image ...". My solution to a different application on Unix some grey hairs ago was creating batch thumbnails with [Image Magick], before loading the application script. If one can work with thumbnails, a tcl or perl script can use [Image Magick] to thumbnail every image in a directory or tailor to specific megabyte size. Since now, I'm using etcl and [pixane] on an Acer Aspire pc notepad, it might be desirable to establish some peg points or timing results with the [pixane] image library. The timing results with [pixane] are similar to those reported for [Image Magick] on a Pentium, [Fast image resizing] ---- In planning any software, there is a need to develop testcases. ---- **Testcase 1.** Output of timing statements. %|quantity|number|units|% &|photo size of bird.jpg| 1.6| m |& &| loading| 1595970 |microseconds per iteration|& &|Scaling |(1944 x 2592) => (180 x 240)|pixels|& &| resizex| 68 |microseconds per iteration|& &|blanking| 4283| microseconds per iteration|& &| rescale| 230934 |microseconds per iteration|& &| saving| 14458 |microseconds per iteration|& &| proc time |1863222| microseconds per iteration|& ** Comments ** ** References: ** * http://www.neatware.com/myrmecox/studio/ex_tclmagick.html, * http://members.shaw.ca/el_supremo/TclWand_053.zip, * http://commons.wikimedia.org/wiki/File:Cyanocitta-cristata-004.jpg * http://tcllib.sourceforge.net/doc/jpeg.html * http://www.tcl.tk/man/tcl8.5/TclCmd/time.htm * [Oneliner's Pie in the Sky] timing statements in calculator * [PhotoAlbum -A Web Gallery Creation Tool] * http://www.evolane.com/software/pixane/pixane.html * [Image Magick] * [tcl-magick] * [tclmagick binaries] * [tkmpeg] * [FITS] * [Produce Thumbnails] * [pixane] : a graphical library to read, write and transform images from Tcl * Especially look at [Fast image resizing] ** Appendix: Tcl Programs and Scripts ** *** Pretty Print Version *** ====== # Pretty print version from autoindent # and ased editor # program of image captioning under pixane # written on Windows XP on eTCL # working under TCL version 8.5.6 and eTCL 1.0.1 # gold on TCL WIKI , 25may2011 package require Tk package require pixane console show global targetpix photox proc jackpix {} { global targetpix photox p set fin [file join [file dirname [info script]] bird25.jpg] set fout [file rootname $fin]_new[file extension $fin] set caption "bird of yore" set p [pixane create] pixane load $p -file $fin set widthsource [pixane width $p] set heightsource [pixane height $p] set heightvirtual2 [expr {$heightsource+32}] pixane resize $p $widthsource $heightvirtual2 pixane color $p "\#C0C0F0" pixane rect $p 0 $heightsource $widthsource $heightvirtual2 pixane color $p "\#101020" set font [pixfont create -builtin "sansserif"] pixane text $p [expr {$widthsource/2}] [expr {$heightvirtual2-($heightvirtual2-$heightsource)/4}] \ -font $font -size 20 \ -align center -valign baseline \ -text $caption pixane save $p -file $fout -format jpg } global p jackpix set tkpicturex [pixcopy $p] wm title . "Captioning Photo Image under Pixane " pack [canvas .c -width 400 -height 400 -background grey] proc moveobject {object x y} { .c coords $object [expr $x-25] [expr $y-25] [expr $x+25] [expr $y+25] } proc moveobject2 {object x y} { .c coords $object [expr $x-25] [expr $y-25] } set egg [.c create oval 75 75 100 100 -fill bisque] set bird [ .c create image 200 200 -image $tkpicturex ] .c bind $egg {moveobject $egg %x %y} .c bind $bird {moveobject2 $bird %x %y} grid .c -row 0 -column 0 wm title . " Captioning Photo Image under Pixane Example " ====== *** Code scraps, timing statements *** ====== puts " loading [time {pixane load $p -file $fin} ]" puts "Scaling ($sourcewidth x $sourceheight) => ($virtualwidth x $virtualheight)" puts " resizex [time {pixane resize $targetpix $virtualwidth $virtualheight } ]" puts " blanking [time {pixane blank $targetpix } ]" puts " rescale [time {pixane scale $targetpix $p } ]" puts " saving [time {pixane save $targetpix -file $fout -format jpg } ]" puts " proc time [time { jackpix } ]" ====== *** Code scraps, find and convert under unix and ImageMagick *** ======none #http://linux.about.com/od/commands/l/blcmdl1_convert.htm $ convert *.png images.jpg $ convert '*.jpg' -resize 120x120 thumbnail%03d.png find *.jpg -maxdepth 0 -print -exec convert "{}" -resize 120x160 "thumbnails/{}" \; ====== ---- **Hidden Comments Section** <> Please place any comments here with your wiki MONIKER and date, Thanks.[gold]12Dec2018 <> Testing | Toys | Performance | Image Processing |Graphics| Example | Mathematics | Numerical Analysis