in reply to Printing a TK Canvas
So rather than try to explain to you, what you can find yourself, I will give a "more straight-forward" example.
Like in kvale's first reply, you need to specify the "boundaries" of what you want to capture as postscript. That is what the $pinfo is for. So look at this simple example.
#!/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') }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Printing a TK Canvas
by Anonymous Monk on Apr 18, 2004 at 18:53 UTC | |
by Madams (Pilgrim) on Apr 18, 2004 at 22:49 UTC |