]> granicus.if.org Git - php/commitdiff
Added colordepth for png
authorMarcus Boerger <helly@php.net>
Mon, 18 Nov 2002 16:50:10 +0000 (16:50 +0000)
committerMarcus Boerger <helly@php.net>
Mon, 18 Nov 2002 16:50:10 +0000 (16:50 +0000)
ext/standard/image.c

index a2edc7c8204f686a9f368bd30cfac98648dea550..aef0a27a997eae2e0921e4bb50103ec502b8d672 100644 (file)
@@ -276,7 +276,15 @@ static struct gfxinfo *php_handle_swf (php_stream * stream TSRMLS_DC)
 static struct gfxinfo *php_handle_png (php_stream * stream TSRMLS_DC)
 {
        struct gfxinfo *result = NULL;
-       unsigned char dim[8];
+       unsigned char dim[9];
+/* Width:              4 bytes
+ * Height:             4 bytes
+ * Bit depth:          1 byte
+ * Color type:         1 byte
+ * Compression method: 1 byte
+ * Filter method:      1 byte
+ * Interlace method:   1 byte
+ */
 
        if (php_stream_seek(stream, 8, SEEK_CUR))
                return NULL;
@@ -287,6 +295,7 @@ static struct gfxinfo *php_handle_png (php_stream * stream TSRMLS_DC)
        result = (struct gfxinfo *) ecalloc(1, sizeof(struct gfxinfo));
        result->width  = (((unsigned int)dim[0]) << 24) + (((unsigned int)dim[1]) << 16) + (((unsigned int)dim[2]) << 8) + ((unsigned int)dim[3]);
        result->height = (((unsigned int)dim[4]) << 24) + (((unsigned int)dim[5]) << 16) + (((unsigned int)dim[6]) << 8) + ((unsigned int)dim[7]);
+       result->bits   = (unsigned int)dim[8];
        return result;
 }
 /* }}} */