PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 200?, PHP 5.1.2
+- Addes PNG compression support (Pierre)
- Added new extensions: (Ilia, Wez)
. XMLWriter
. Hash
PHP_FUNCTION(imagepng)
{
#ifdef USE_GD_IOCTX
- _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_PNG, "PNG", gdImagePngCtx);
+ _php_image_output_ctx(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_PNG, "PNG", gdImagePngCtxEx);
#else
_php_image_output(INTERNAL_FUNCTION_PARAM_PASSTHRU, PHP_GDIMG_TYPE_PNG, "PNG", gdImagePng);
#endif
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid threshold value '%d'. It must be between 0 and 255", q);
}
case PHP_GDIMG_TYPE_JPG:
+ case PHP_GDIMG_TYPE_PNG:
(*func_p)(im, ctx, q);
break;
case PHP_GDIMG_TYPE_XBM:
--- /dev/null
+--TEST--
+png compression test
+--SKIPIF--
+<?php
+ if (!extension_loaded('gd')) {
+ die("skip gd extension not available.");
+ }
+ if (!GD_BUNDLED) {
+ die("skip external GD libraries always fail");
+ }
+ if (!function_exists("imagecreatefrompng") || !function_exists("imagepng")) {
+ die("skip png support unavailable");
+ }
+ if (!function_exists("imagecreatefromjpeg") || !function_exists("imagejpeg")) {
+ die("skip jpeg support unavailable");
+ }
+?>
+--FILE--
+<?php
+ $cwd = dirname(__FILE__);
+
+ echo "PNG compression test: ";
+
+ $im = imagecreatetruecolor(20,20);
+ imagefilledrectangle($im, 5,5, 10,10, 0xffffff);
+ imagepng($im, $cwd . '/test_pngcomp.png', 9);
+
+ $im2 = imagecreatefrompng($cwd . '/test_pngcomp.png');
+ $col = imagecolorat($im2, 8,8);
+ if ($col == 0xffffff) {
+ echo "ok\n";
+ }
+
+ @unlink($cwd . "/test_pngcomp.png");
+?>
+--EXPECT--
+PNG compression test: ok