If you want the canvas to be the size of the image AND the scrollbars to fit in that canvas, then you will have to
- create another frame the size of your image, and
- create the canvas and place it in the frame
It should look something like this:
my $main_frame = tkinit();
# make this frame the size of your image
my $canvas_frame = $main_frame->Frame( ...options... );
my $tcanvas = $canvas_frame->Scrolled('Canvas',
my $canvas = $tcanvas->Subwidget('canvas');
Try making the frame smaller than the image to see that the scrollbars appear as you want them. Also, you need to combine the '-scrollbar' options as mentioned before.
What time is it? It's Camel Time!