diff options
author | Pierre Joye <pajoye@php.net> | 2003-03-01 01:15:47 +0000 |
---|---|---|
committer | Pierre Joye <pajoye@php.net> | 2003-03-01 01:15:47 +0000 |
commit | 61dd954da257e428cba0cd73ccbbb1f08a595bb1 (patch) | |
tree | 4972bf7dce8fcbb1f648eae3e395e7076d67ff66 | |
parent | 70432e3befe4af2005757e59fb6c2a84395f7529 (diff) | |
download | php-git-61dd954da257e428cba0cd73ccbbb1f08a595bb1.tar.gz |
MFH imageistruecolor, imagesavealpha
-rw-r--r-- | ext/gd/gd.c | 40 | ||||
-rw-r--r-- | ext/gd/php_gd.h | 2 |
2 files changed, 42 insertions, 0 deletions
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); |