Evaluated proc magic:centre {canvas image} { if {[@$image width] >= [@$canvas width]} { @$image scale [*r [@$canvas width] 0.75] [*r [@$canvas height] 0.75] }; set c [magic:centrecoords $canvas $image]; @@$canvas composite $image over [first $c] [second $c] }