From: Pierre Joye Date: Sat, 1 Mar 2003 01:15:47 +0000 (+0000) Subject: MFH imageistruecolor, imagesavealpha X-Git-Tag: php-4.3.2RC1~83 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=61dd954da257e428cba0cd73ccbbb1f08a595bb1;p=php MFH imageistruecolor, imagesavealpha --- diff --git a/ext/gd/gd.c b/ext/gd/gd.c index efb30b53f6..98fd9dc25e 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -148,11 +148,13 @@ function_entry gd_functions[] = { PHP_FE(imagecreate, NULL) #if HAVE_LIBGD20 PHP_FE(imagecreatetruecolor, NULL) + PHP_FE(imageistruecolor, NULL) PHP_FE(imagetruecolortopalette, NULL) PHP_FE(imagesetthickness, NULL) PHP_FE(imagefilledarc, NULL) PHP_FE(imagefilledellipse, NULL) PHP_FE(imagealphablending, NULL) + PHP_FE(imagesavealpha, NULL) PHP_FE(imagecolorresolvealpha, NULL) PHP_FE(imagecolorclosestalpha, NULL) PHP_FE(imagecolorexactalpha, NULL) @@ -711,6 +713,23 @@ PHP_FUNCTION(imagecreatetruecolor) } /* }}} */ +/* {{{ proto int imageistruecolor(int im) + * return true if the image uses truecolor */ +PHP_FUNCTION(imageistruecolor) +{ + zval **IM; + gdImagePtr im; + + if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &IM) == FAILURE) { + ZEND_WRONG_PARAM_COUNT(); + } + + ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd); + + RETURN_BOOL(im->trueColor); +} +/* }}} */ + /* {{{ proto void imagetruecolortopalette(resource im, bool ditherFlag, int colorsWanted) Convert a true colour image to a palette based image with a number of colours, optionally using dithering. */ PHP_FUNCTION(imagetruecolortopalette) @@ -869,6 +888,27 @@ PHP_FUNCTION(imagealphablending) } /* }}} */ +#if HAVE_LIBGD20 +/* {{{ proto void imagesavealpha(resource im, bool on) + * Include alpha channel to a saved image */ +PHP_FUNCTION(imagesavealpha) +{ + zval **IM, **save; + gdImagePtr im; + + if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &IM, &save) == FAILURE) { + ZEND_WRONG_PARAM_COUNT(); + } + + ZEND_FETCH_RESOURCE(im, gdImagePtr, IM, -1, "Image", le_gd); + convert_to_boolean_ex(save); + + gdImageSaveAlpha(im, Z_LVAL_PP(save)); + + RETURN_TRUE; +} +#endif + #if HAVE_GD_BUNDLED /* {{{ proto void imagelayereffect(resource im, int effect) Set the alpha blending flag to use the bundled libgd layering effects */ diff --git a/ext/gd/php_gd.h b/ext/gd/php_gd.h index de607d00dc..189c7d98bb 100644 --- a/ext/gd/php_gd.h +++ b/ext/gd/php_gd.h @@ -84,12 +84,14 @@ PHP_FUNCTION(imageftbbox); PHP_FUNCTION(imagefttext); PHP_FUNCTION(imagecreatetruecolor); +PHP_FUNCTION(imageistruecolor); PHP_FUNCTION(imagetruecolortopalette); PHP_FUNCTION(imagesetthickness); PHP_FUNCTION(imageellipse); PHP_FUNCTION(imagefilledellipse); PHP_FUNCTION(imagefilledarc); PHP_FUNCTION(imagealphablending); +PHP_FUNCTION(imagesavealpha); PHP_FUNCTION(imagecolorresolvealpha); PHP_FUNCTION(imagecolorclosestalpha); PHP_FUNCTION(imagecolorexactalpha);