Windows device indepdent 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 modules supplies the standard key names except for Gamma, Interlace, LastModificationTime, as well as:
Specifies the number of color indexes that are required for displaying the bitmap. If this value is zero, all colors are required.
If true the bitmap is a bottom-up \s-1DIB\s0 and its origin is the lower-left corner. Otherwise, the bitmap is a top-down \s-1DIB\s0 and its origin is the upper-left corner.
Reference to an array of all colors used. This key is only present if \*(C`image_info\*(C' is invoked as \*(C`image_info($file, ColorPalette=>1)\*(C'.
The number of colors the image uses. If 0 then this is a true color image. The number of color available is 2 ^ BitsPerSample.
\$1
$info->process_file($source, $options);
Processes one file and sets the found info fields in the $info object.
Image::Info
For more information about \s-1BMP\s0 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;
The image may be correct, the filesize does not match the internally stored value.
The current implementation only function on little-endian architectures. Consequently erroneous data concerning compression (including file_ext and file_mime_type) may be reported.
Jerrad Pierce <[email protected]>/<[email protected]>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.