|
|
| version 1.1.1.2, 2012/05/29 12:34:43 | version 1.1.1.3, 2013/07/22 01:32:05 |
|---|---|
| Line 2 | Line 2 |
| +----------------------------------------------------------------------+ | +----------------------------------------------------------------------+ |
| | PHP Version 5 | | | PHP Version 5 | |
| +----------------------------------------------------------------------+ | +----------------------------------------------------------------------+ |
| | Copyright (c) 1997-2012 The PHP Group | | | Copyright (c) 1997-2013 The PHP Group | |
| +----------------------------------------------------------------------+ | +----------------------------------------------------------------------+ |
| | This source file is subject to version 3.01 of the PHP license, | | | This source file is subject to version 3.01 of the PHP license, | |
| | that is bundled with this package in the file LICENSE, and is | | | that is bundled with this package in the file LICENSE, and is | |
| Line 31 | Line 31 |
| #endif | #endif |
| #include "php_image.h" | #include "php_image.h" |
| #if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB) | |
| #include "zlib.h" | #include "zlib.h" |
| #endif | |
| /* file type markers */ | /* file type markers */ |
| PHPAPI const char php_sig_gif[3] = {'G', 'I', 'F'}; | PHPAPI const char php_sig_gif[3] = {'G', 'I', 'F'}; |
| Line 79 PHP_MINIT_FUNCTION(imagetypes) | Line 81 PHP_MINIT_FUNCTION(imagetypes) |
| REGISTER_LONG_CONSTANT("IMAGETYPE_JP2", IMAGE_FILETYPE_JP2, CONST_CS | CONST_PERSISTENT); | REGISTER_LONG_CONSTANT("IMAGETYPE_JP2", IMAGE_FILETYPE_JP2, CONST_CS | CONST_PERSISTENT); |
| REGISTER_LONG_CONSTANT("IMAGETYPE_JPX", IMAGE_FILETYPE_JPX, CONST_CS | CONST_PERSISTENT); | REGISTER_LONG_CONSTANT("IMAGETYPE_JPX", IMAGE_FILETYPE_JPX, CONST_CS | CONST_PERSISTENT); |
| REGISTER_LONG_CONSTANT("IMAGETYPE_JB2", IMAGE_FILETYPE_JB2, CONST_CS | CONST_PERSISTENT); | REGISTER_LONG_CONSTANT("IMAGETYPE_JB2", IMAGE_FILETYPE_JB2, CONST_CS | CONST_PERSISTENT); |
| #if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB) | |
| REGISTER_LONG_CONSTANT("IMAGETYPE_SWC", IMAGE_FILETYPE_SWC, CONST_CS | CONST_PERSISTENT); | REGISTER_LONG_CONSTANT("IMAGETYPE_SWC", IMAGE_FILETYPE_SWC, CONST_CS | CONST_PERSISTENT); |
| #endif | |
| REGISTER_LONG_CONSTANT("IMAGETYPE_IFF", IMAGE_FILETYPE_IFF, CONST_CS | CONST_PERSISTENT); | REGISTER_LONG_CONSTANT("IMAGETYPE_IFF", IMAGE_FILETYPE_IFF, CONST_CS | CONST_PERSISTENT); |
| REGISTER_LONG_CONSTANT("IMAGETYPE_WBMP", IMAGE_FILETYPE_WBMP, CONST_CS | CONST_PERSISTENT); | REGISTER_LONG_CONSTANT("IMAGETYPE_WBMP", IMAGE_FILETYPE_WBMP, CONST_CS | CONST_PERSISTENT); |
| REGISTER_LONG_CONSTANT("IMAGETYPE_JPEG2000",IMAGE_FILETYPE_JPC, CONST_CS | CONST_PERSISTENT); /* keep alias */ | REGISTER_LONG_CONSTANT("IMAGETYPE_JPEG2000",IMAGE_FILETYPE_JPC, CONST_CS | CONST_PERSISTENT); /* keep alias */ |
| Line 155 static struct gfxinfo *php_handle_bmp (php_stream * st | Line 159 static struct gfxinfo *php_handle_bmp (php_stream * st |
| result->width = (((unsigned int)dim[ 5]) << 8) + ((unsigned int) dim[ 4]); | result->width = (((unsigned int)dim[ 5]) << 8) + ((unsigned int) dim[ 4]); |
| result->height = (((unsigned int)dim[ 7]) << 8) + ((unsigned int) dim[ 6]); | result->height = (((unsigned int)dim[ 7]) << 8) + ((unsigned int) dim[ 6]); |
| result->bits = ((unsigned int)dim[11]); | result->bits = ((unsigned int)dim[11]); |
| } else if (size > 12 && (size <= 64 || size == 108)) { | } else if (size > 12 && (size <= 64 || size == 108 || size == 124)) { |
| result = (struct gfxinfo *) ecalloc (1, sizeof(struct gfxinfo)); | result = (struct gfxinfo *) ecalloc (1, sizeof(struct gfxinfo)); |
| result->width = (((unsigned int)dim[ 7]) << 24) + (((unsigned int)dim[ 6]) << 16) + (((unsigned int)dim[ 5]) << 8) + ((unsigned int) dim[ 4]); | result->width = (((unsigned int)dim[ 7]) << 24) + (((unsigned int)dim[ 6]) << 16) + (((unsigned int)dim[ 5]) << 8) + ((unsigned int) dim[ 4]); |
| result->height = (((unsigned int)dim[11]) << 24) + (((unsigned int)dim[10]) << 16) + (((unsigned int)dim[ 9]) << 8) + ((unsigned int) dim[ 8]); | result->height = (((unsigned int)dim[11]) << 24) + (((unsigned int)dim[10]) << 16) + (((unsigned int)dim[ 9]) << 8) + ((unsigned int) dim[ 8]); |
| Line 184 static unsigned long int php_swf_get_bits (unsigned ch | Line 188 static unsigned long int php_swf_get_bits (unsigned ch |
| } | } |
| /* }}} */ | /* }}} */ |
| #if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB) | |
| /* {{{ php_handle_swc | /* {{{ php_handle_swc |
| */ | */ |
| static struct gfxinfo *php_handle_swc(php_stream * stream TSRMLS_DC) | static struct gfxinfo *php_handle_swc(php_stream * stream TSRMLS_DC) |
| Line 254 static struct gfxinfo *php_handle_swc(php_stream * str | Line 259 static struct gfxinfo *php_handle_swc(php_stream * str |
| return result; | return result; |
| } | } |
| /* }}} */ | /* }}} */ |
| #endif | |
| /* {{{ php_handle_swf | /* {{{ php_handle_swf |
| */ | */ |
| Line 600 static struct gfxinfo *php_handle_jpc(php_stream * str | Line 606 static struct gfxinfo *php_handle_jpc(php_stream * str |
| /* JPEG 2000 components can be vastly different from one another. | /* JPEG 2000 components can be vastly different from one another. |
| Each component can be sampled at a different resolution, use | Each component can be sampled at a different resolution, use |
| a different colour space, have a seperate colour depth, and | a different colour space, have a separate colour depth, and |
| be compressed totally differently! This makes giving a single | be compressed totally differently! This makes giving a single |
| "bit depth" answer somewhat problematic. For this implementation | "bit depth" answer somewhat problematic. For this implementation |
| we'll use the highest depth encountered. */ | we'll use the highest depth encountered. */ |
| Line 1312 static void php_getimagesize_from_stream(php_stream *s | Line 1318 static void php_getimagesize_from_stream(php_stream *s |
| result = php_handle_swf(stream TSRMLS_CC); | result = php_handle_swf(stream TSRMLS_CC); |
| break; | break; |
| case IMAGE_FILETYPE_SWC: | case IMAGE_FILETYPE_SWC: |
| #if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB) | |
| result = php_handle_swc(stream TSRMLS_CC); | result = php_handle_swc(stream TSRMLS_CC); |
| #else | |
| php_error_docref(NULL TSRMLS_CC, E_NOTICE, "The image is a compressed SWF file, but you do not have a static version of the zlib extension enabled"); | |
| #endif | |
| break; | break; |
| case IMAGE_FILETYPE_PSD: | case IMAGE_FILETYPE_PSD: |
| result = php_handle_psd(stream TSRMLS_CC); | result = php_handle_psd(stream TSRMLS_CC); |