diff options
author | Pierre Joye <pajoye@php.net> | 2005-12-09 18:07:57 +0000 |
---|---|---|
committer | Pierre Joye <pajoye@php.net> | 2005-12-09 18:07:57 +0000 |
commit | ce90a27a48c2fe20c59505f288a38ad4b0ae3b10 (patch) | |
tree | 1310266acd4fb7053c97042855946ecd6949658b | |
parent | 5461b5a6b11bd13bb04f324b24440201d3cd6cd5 (diff) | |
download | php-git-ce90a27a48c2fe20c59505f288a38ad4b0ae3b10.tar.gz |
- MFH, PNG compression support exposed
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | ext/gd/gd.c | 2 | ||||
-rw-r--r-- | ext/gd/gd_ctx.c | 1 | ||||
-rw-r--r-- | ext/gd/tests/pngcomp.phpt | 37 |
4 files changed, 40 insertions, 1 deletions
@@ -1,6 +1,7 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 200?, PHP 5.1.2 +- Addes PNG compression support (Pierre) - Added new extensions: (Ilia, Wez) . XMLWriter . Hash diff --git a/ext/gd/gd.c b/ext/gd/gd.c index cbd5fd5aad..30acee57e6 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -1871,7 +1871,7 @@ PHP_FUNCTION(imagegif) 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 diff --git a/ext/gd/gd_ctx.c b/ext/gd/gd_ctx.c index dfc5237e6c..36a41050f5 100644 --- a/ext/gd/gd_ctx.c +++ b/ext/gd/gd_ctx.c @@ -115,6 +115,7 @@ static void _php_image_output_ctx(INTERNAL_FUNCTION_PARAMETERS, int image_type, 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: diff --git a/ext/gd/tests/pngcomp.phpt b/ext/gd/tests/pngcomp.phpt new file mode 100644 index 0000000000..6a4dbbb6c0 --- /dev/null +++ b/ext/gd/tests/pngcomp.phpt @@ -0,0 +1,37 @@ +--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 |