On 2012-05-04, at 4:08 AM, gary sachs wrote:
> I can give that a try. I have seen the Tkx::eval used with a single line 
> command, but not a whole procedure. So, can you point me to some examples of 
> how to do this? Or can I just 

That would be something like this:

    Tkx::eval(<<'EOT');
# lots of Tcl code
# ...
EOT

Jeff

> On 03/05/2012 1:54 PM, gary sachs wrote:
>> I did find the img::window which has pushed me further down the road. But, 
>> it leads me to some questions about trying to write a PNG or JPEG file of a 
>> canvas. When I do the writing, it seems that it can take 10 seconds or 
>> longer to complete and then there is only a partial drawing in the PNG file. 
>> So, here is the small code fragment I am trying...
>> 
>> my $img = Tkx::image_create_photo(-data =>  $mycanvas, -format =>  'window');
>> $img =  Tkx::widget->new($img);
>> $img->write ($filename, -format =>  'JPEG');
>> 
>> ... again it works so to speak.
>> 
>> How do I get the entire visble canvas into the PNG? Or for that matter, how 
>> would I get the entire canvas, visible objects and not visible in the 
>> window, written to the PNG file? Any way to speed things up? I would like to 
>> not have to resort to IMAGEMAGICK and GHOSTSCRIPT if possible.
> 
> I'm not sure why it would take 10 seconds, though if $mycanvas is really 
> large, it may be passing a lot of data over the Perl<>Tcl bridge.  Note that 
> the 'window' format really is about just capturing the visible window.  There 
> are numerous tricks and techniques that people have tried to get the whole 
> canvas.  They are best shown here:
>     http://wiki.tcl.tk/1404
> 
> Try the canvas2Photo method shown there.  Remember that you can just push 
> this all to Tcl with an eval call rather than try and translate it to Perl.
> 
> Jeff

Reply via email to