-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
I have reported at http://bugs.php.net/?id=22323 that it's impossible to
actually create png images that are partially transparent. I needed that
feature yesterday so I have created a patch (attached - mailer mangles
patches) for this.
This patch introduces another function imagesavealpha($im,$bool) that
can be used to enable or disable (default) saving alpha information in
imagepng() etc. functions.
Without this function, there is currently no way to do that.
I'm not 100% sure, if this function is defined in correct ifdefs
regarding bundled vs. not, but I guess this should be about right.
There's no special testcase, it Works For Me (tm) and is 99% copied from
imagealphablending(). It really shouldn't contain any bugs :)
When included, this patch closes bug #22323. Of course it needs
documentation too, but I'm not the right person to write that with my
lousy English.
- - Jukka
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQE+VTfrYYWM2XTSwX0RAt+3AJoDu5jDoeM3qfVG6FhzPaDtlH6cNwCfYmwz
FvpjoNP+Qu/7s6N3bc1Iz/U=
=9mR9
-----END PGP SIGNATURE-----
diff -ur php4-STABLE-200302201830/ext/gd/gd.c
php4-STABLE-200302201830-patched/ext/gd/gd.c
--- php4-STABLE-200302201830/ext/gd/gd.c Fri Jan 24 22:09:22 2003
+++ php4-STABLE-200302201830-patched/ext/gd/gd.c Thu Feb 20 21:32:06 2003
@@ -153,6 +153,7 @@
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)
@@ -864,6 +865,26 @@
convert_to_boolean_ex(blend);
gdImageAlphaBlending(im, Z_LVAL_PP(blend));
+
+ RETURN_TRUE;
+}
+/* }}} */
+
+/* {{{ 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;
}
diff -ur php4-STABLE-200302201830/ext/gd/php_gd.h
php4-STABLE-200302201830-patched/ext/gd/php_gd.h
--- php4-STABLE-200302201830/ext/gd/php_gd.h Tue Dec 31 19:15:19 2002
+++ php4-STABLE-200302201830-patched/ext/gd/php_gd.h Thu Feb 20 21:27:26 2003
@@ -90,6 +90,7 @@
PHP_FUNCTION(imagefilledellipse);
PHP_FUNCTION(imagefilledarc);
PHP_FUNCTION(imagealphablending);
+PHP_FUNCTION(imagesavealpha);
PHP_FUNCTION(imagecolorresolvealpha);
PHP_FUNCTION(imagecolorclosestalpha);
PHP_FUNCTION(imagecolorexactalpha);
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php