Tk::WinPhoto(3) Load a Photo image from a window


use Tk;
use Tk::WinPhoto;
my $image = $mw->Photo(-format => 'Window', -data => oct($mw->id));
$image->write($path_name, -format => 'BMP|PPM|XPM');


This is an extension for Tk800.* which will load a Photo image from a snapshot of an X window specified by the -data option.

The window must exist and be visible. Because the code allows you to capture windows not owned by Tk it does not attempt to enforce this. If you are capturing one of Tk's windows then use "$w->update".

If window is mapped, but obscured by other windows then what is captured is the rectangle the window would occupy. This can be considered a feature. For Tk-owned windows "$w->raise" can used to bring window forward.

Once the Photo is loaded it can be saved using "$image->write(-format => ...)" using any of formats which support writing.


Nick Ing-Simmons <[email protected]>