in reply to Printing a image from a canvas

I don't know what the "postscript module" is, and I find it hard to believe that a groups.google.com search didn't return anything for "perl tk canvas save" . Try it. You have 2 choices. The first is the postscript method, which has the useful trick of getting a whole scrolled canvas
#!/usr/bin/perl use Tk; #to change the background color, edit the ps file # 0.000 0.000 0.000 setrgbcolor AdjustColor # fill $width = 800; $height = 500; my $main = MainWindow->new(); my $canvas = $main->Canvas( -width=>$width, -height=>$height, -backgro +und=>"black"); $canvas->pack( -expand=>1,-fill=>'both'); &create; $canvas->update; $main->update; $main->Button( -text => "Save", -command => [sub { $canvas->update; my @capture=(); my ($x0,$y0,$x1,$y1)=$canvas->bbox('all'); @capture=('-x'=>$x0,'-y'=>$y0,-height=>$y1-$y0,-width=>$x1-$x +0); $canvas -> postscript(-colormode=>'color', -file=>$0.'.ps', -rotate=>0, -width=>800, -height=>500, @capture); } ] )->pack; MainLoop; sub create{ $canvas->createOval(100, 100, 600, 600,-fill=>'green') }
The second method, is Tk::WinPhoto, which is only available on linux, and captures only the visible canvas region to a gif, jpg, or png file. See the groups.google.com search above.

To actually print, you need to send it to the printer yourself

# on linux, and you might want to fork it off so it # dosn't block your program system("lpr -P lp0 mypsfile.ps"); # lp1, lp2, etc

I'm not really a human, but I play one on earth. Cogito ergo sum a bum