Retrieving and Setting File Information

You can retrieve a lot of general information about an image by using the Get( ) method to query any of the attributes in Table 3-2. A few of the attributes (compression, interlace, filename, etc.) may also be written to with the Set( ) method. Setting these attributes does not immediately affect the image; they do not come into play until the image is written. Ping( ) is a handy function that returns information about an image’s size without actually loading the image into memory.

Most of the attributes listed below can be both read and written; those with a “No” in the Write column are read-only (that is, they may be used only with the Get( ) method, not with the Set( ) method). For the methods, you can use the name of the method with the word “Image” appended to it as an alias. For example, ReadImage( ) is an alias for Read( ) and SharpenImage( ) is an alias for Sharpen( ).

Table 3-2. File information attributes

Attribute

Read

Write

Description

adjoin

Yes

Yes

Certain file formats accept multiple images within a single file. If adjoin is 1 and the image is a multi-image format, multiple reads to the same image object join the images into a single file. Set adjoin to 0 if you do not want the images output to a single file.

Base_filename

Yes

No

Returns a string that is the image’s original filename.

cache-threshold

Yes

Yes

ImageMagick keeps the image data in a RAM cache and writes it out to a disk cache when it runs out of RAM. If you have a limited amount ...

Get Perl Graphics Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.