in reply to Issue destroying image using perl/TK

Your screen capture doesn't work. Based on this, here's a sub that does a full capture.
#!/usr/bin/perl use strict; use warnings; use Tk; use Tk::WinPhoto; my $mw = MainWindow->new(); full_capture(); MainLoop; sub full_capture { my @id = grep { $_ =~ 'Window id' } split( "\n", `xwininfo -root` +); my @ids = split( ' ', $id[0] ); ( my $id ) = grep { $_ =~ /0x/ } @ids; my $image = $mw->Photo( -format => 'Window', -data => oct( $mw->id ), -data => oct('0x00022'), -data => oct($id) ); my $pathname = './rootwindow.' . time . '.png'; $image->write( $pathname, -format => 'BMP | PPM | XPM' ); }

Replies are listed 'Best First'.
Re^2: Issue destroying image using perl/TK
by nikwasi (Initiate) on Mar 27, 2011 at 18:36 UTC
    I have seen code similar to this, however it does not do everything I needed.

    I am using imagemagick to perform the screen grab. It has features for grabbing the window under the cursor and rubber-banding regions with the mouse. I particularly like the -frame option that allows the image to capture the window manager frame. Being a separate application, it must be installed on the linux platform for it to work. It can be downloaded from:

    http://www.imagemagick.org/script/index.php

    PS. The command line invocation for imagemagick is a bit misleading. The command to make a screen grab is

    import -frame some_pic_name.jpg
    Cheers, Tim