Image::Info::BMP - Windows Device Independent Bitmap support for Image::Info
use Image::Info qw(image_info dim);
my $info = image_info("image.bmp");
if (my $error = $info->{error}) {
die "Can't parse image info: $error\n";
}
my $color = $info->{color_type};
my($w, $h) = dim($info);
This module supplies the standard key names
except for Gamma, Interlace, LastModificationTime, as well as:
- BMP_ColorsImportant
-
Specifies the number of color indexes that are required for
displaying the bitmap. If this value is zero, all colors are required.
- BMP_Origin
-
If true the bitmap is a bottom-up DIB and its origin is the lower-left corner.
Otherwise, the bitmap is a top-down DIB and its origin is the upper-left
corner.
- ColorPalette
-
Reference to an array of all colors used.
This key is only present if
image_info is invoked
as image_info($file, ColorPalette=>1) .
- ColorTableSize
-
The number of colors the image uses.
If 0 then this is a true color image.
The number of colors available is 2 ^ BitsPerSample.
$info->process_file($source, $options);
Processes one file and sets the found info fields in the $info object.
the Image::Info manpage
For more information about BMP see http://msdn.microsoft.com.
Random notes:
warn if height is negative and compress is not RGB or BITFILEDS (0 or 3)
ICO and CUR support?
### v5
If bit depth is 0, it relies upon underlying JPG/PNG :-(
Extra Information
DWORD bV5RedMask;
DWORD bV5GreenMask;
DWORD bV5BlueMask;
DWORD bV5AlphaMask;
DWORD bV5CSType;
CIEXYZTRIPLE bV5EndPoints; #3*CIEXYZ #CIEXYZ = 3*FXPT2DOT30#FXPT2DOT30 = long
DWORD bV5GammaRed;
DWORD bV5GammaGreen;
DWORD bV5GammaBlue;
DWORD bV5Intent;
DWORD bV5ProfileData;
DWORD bV5ProfileSize;
- Size mismatch
-
The image may be correct, but the filesize does not match the internally stored
value.
The current implementation only functions on little-endian architectures.
Consequently erroneous data concerning compression (including
file_ext and file_mime_type) may be reported.
Jerrad Pierce <belg4mit@mit.edu>/
This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
|