Image::Info::XPM - XPM support for Image::Info
| Use Case | Command | Description |
|---|---|---|
| Get image info | my $info = image_info("file.xpm"); | Returns hash ref with all metadata |
| Get dimensions | my ($w, $h) = dim($info); | Extract width and height |
| Get color type | my $color = $info->{color_type}; | Color type string |
| Get full color palette | my $info = image_info("file.xpm", ColorPalette=>1); | Returns array ref of all colors used |
| Get number of colors | my $size = $info->{ColorTableSize}; | Number of distinct colors |
| Get hotspot (X) | my $x = $info->{HotSpotX}; | X-coordinate of hotspot (-1 if none) |
| Get hotspot (Y) | my $y = $info->{HotSpotY}; | Y-coordinate of hotspot (-1 if none) |
| Get luminance histogram | my $info = image_info("file.xpm", L1D_Histogram=>1); | Returns 1D luminance histogram array ref |
| Get characters per pixel | my $cpp = $info->{XPM_CharactersPerPixel}; | Typically 1 or 2 |
use Image::Info qw(image_info dim);
my $info = image_info("image.xpm");
if (my $error = $info->{error}) {
die "Can't parse image info: $error\n";
}
my $color = $info->{color_type};
my($w, $h) = dim($info);
This modules supplies the standard key names except for Compression, Gamma, Interlace, LastModificationTime, as well as:
🎨 ColorPalette Reference to an array of all colors used. This key is only present ifimage_info is invoked as image_info($file, ColorPalette=>1).
🔢 ColorTableSize
The number of colors the image uses.
🎯 HotSpotX
The x-coord of the image's hotspot. Set to -1 if there is no hotspot.
🎯 HotSpotY
The y-coord of the image's hotspot. Set to -1 if there is no hotspot.
📊 L1D_Histogram
Reference to an array representing a one dimensional luminance histogram. This key is only present if image_info is invoked as image_info($file, L1D_Histogram=>1). The range is from 0 to 255, however auto-vivification is used so a null field is also 0, and the array may not actually contain 255 fields.
🔤 XPM_CharactersPerPixel
This is typically 1 or 2. See Image::Xpm.
🧩 XPM_Extension-.*
XPM Extensions (the most common is XPMEXT) if present.
$info->process_file($source, $options);
Processes one file and sets the found info fields in the $info object.
This module requires Image::Xpm
$Image::Info::XPM::RGBLIB is set to /usr/X11R6/lib/X11/rgb.txt or an equivalent path (see the _get_rgb_txt function for the complete list) by default, this is used to resolve textual color names to their RGB counterparts.
For more information about XPM see <ftp://ftp.x.org/contrib/libraries/xpm-README.html>
While the module attempts to be as robust as possible, it may not recognize older XPMs (Versions 1-3), if this is the case try inserting /* XPM */ as the first line.
Jerrad Pierce <belg4mit AT mit.edu>/<webmaster AT pthbb.org>
Tels - (c) 2006.
Now maintained by Slaven Rezic <srezic AT cpan.org>.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Generated by phpman v4.9.25-25-g40dbf62 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-07-16 17:26 @216.73.216.114
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Enhanced by LLM: deepseek-v4-flash / taotoken.net / www.chedong.com - original format