NAME

Prima::Dialog::ImageDialog - file open and save dialogs.

DESCRIPTION

The module provides dialogs specially adjusted for image loading and saving.

Prima::Dialog::ImageOpenDialog

Provides a preview feature, allowing the user to view the image file before loading, and the selection of a frame index for the multi-framed image files. Instead of execute call, the load method is used to invoke the dialog and returns the loaded image as a Prima::Image object. The loaded object by default contains {extras} hash variable set, which contains extra information returned by the loader. See Prima::image-load for more information.

SYNOPSIS

use Prima qw(Application Dialog::ImageDialog);
my $dlg = Prima::Dialog::ImageOpenDialog-> new;
my $img = $dlg-> load;
return unless $img;
print "$_:$img->{extras}->{$_}\n" for sort keys %{$img-> {extras}};

Proprties

preview BOOLEAN

Selects if the preview functionality is active. The user can switch it on and off interactively.

Default value: 1

Methods

load %PROFILE

Executes the dialog, and, if successful, loads the image file and frame selected by the user. Returns the loaded image as a Prima::Image object. PROFILE is a hash, passed to Prima::Image::load method. In particular, it can be used to disable the default loading of extra information in {extras} variable, or to specify a non-default loading option. For example, {extras}->{className} = 'Prima::Icon' would return the loaded image as an icon object. See Prima::image-load for more.

load can report progressive image loading to the caller, and/or to an instance of Prima::ImageViewer, if desired. If either (or both) onHeaderReady and onDataReady notifications are specified, these are called from the respective event handlers of the image being loaded ( see "Loading with progress indicator" in Prima::image-load for details). If profile key progressViewer is supplied, its value is treated as a Prima::ImageViewer instance, and it is used to display image loading progress. See "watch_load_progress" in Prima::ImageViewer.

Events

HeaderReady IMAGE

See "HeaderReady" in Prima::Image.

DataReady IMAGE, X, Y, WIDTH, HEIGHT

See "DataReady" in Prima::Image.

Prima::Dialog::ImageSaveDialog

Provides a save dialog where the user can select image format, the bit depth and other format-specific options. The format-specific options can be set if a dialog for the file format is provided. The standard toolkit dialogs reside under in Prima::Image namespace, in Prima/Image subdirectory. For example, Prima::Image::gif provides the selection of transparency color, and Prima::Image::jpeg the image quality control. If the image passed to the image property contains {extras} variable, the data are read and used as the default values. In particular, {extras}->-{codecID} field, responsible for the file format, if present, affects the default file format selection.

SYNOPSIS

my $dlg = Prima::Dialog::ImageSaveDialog-> create;
return unless $dlg-> save( $image );
print "saved as ", $dlg-> fileName, "\n";

Properties

image IMAGE

Selects the image to be saved. This property is to be used for the standard invocation of dialog, via execute. It is not needed when the execution and saving is invoked via save method.

Methods

save IMAGE, %PROFILE

Invokes the dialog, and, if the execution was successful, saves the IMAGE according to the user selection and PROFILE hash. PROFILE is not used for the default options, but is passed directly to Prima::Image::save call, possibly overriding selection of the user. Returns 1 in case of success, 0 in case of error. If the error occurs, the user is notified before the method returns.

AUTHOR

Dmitry Karasik, <dmitry@karasik.eu.org>.

SEE ALSO

Prima, Prima::Window, Prima::codecs, Prima::image-load, Prima::Image, Prima::Dialog::FileDialog, Prima::ImageViewer, examples/iv.pl.