diff options
Diffstat (limited to 'includes/media/BMP.php')
-rw-r--r-- | includes/media/BMP.php | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/includes/media/BMP.php b/includes/media/BMP.php new file mode 100644 index 00000000..9917856a --- /dev/null +++ b/includes/media/BMP.php @@ -0,0 +1,31 @@ +<?php +/** + * Handler for Microsoft bitmap format (bmp). It inherits most of the methods + * from ImageHandler, some of them had to be overriden cause gd does not + * support this format. + * + * @addtogroup Media + */ +class BmpHandler extends BitmapHandler { + + /* + * Get width and height from the bmp header. + */ + function getImageSize( $image, $filename ) { + $f = fopen( $filename, 'r' ); + if(!$f) return false; + $header = fread( $f, 54 ); + fclose($f); + + // Extract binary form of width and height from the header + $w = substr( $header, 18, 4); + $h = substr( $header, 22, 4); + + // Convert the unsigned long 32 bits (little endian): + $w = unpack( 'V' , $w ); + $h = unpack( 'V' , $h ); + return array( $w[1], $h[1] ); + } +} + +?> |