The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Image::Info::BMP - Windows Device Indepdent Bitmap support for Image::Info

SYNOPSIS

 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);

DESCRIPTION

This modules 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 color available is 2 ^ BitsPerSample.

METHODS

process_file()

        $info->process_file($source, $options);

Processes one file and sets the found info fields in the $info object.

SEE ALSO

Image::Info

NOTES

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; 

DIAGNOSTICS

Size mismatch

The image may be correct, the filesize does not match the internally stored value.

BUGS

The current implementation only function on little-endian architectures. Consequently erroneous data concerning compression (including file_ext and file_mime_type) may be reported.

AUTHOR

Jerrad Pierce <belg4mit@mit.edu>/<webmaster@pthbb.org>

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.