summaryrefslogtreecommitdiff
path: root/includes/media/BMP.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/media/BMP.php')
-rw-r--r--includes/media/BMP.php31
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] );
+ }
+}
+
+?>