pajoye Sun Jul 23 21:48:18 2006 UTC Modified files: /php-src/ext/gd/tests 38179.phpt /php-src/ext/gd/libgd gd.c Log: - MFB: #38179, imagecopy, palette to truecolor must use alpha channel too http://cvs.php.net/viewvc.cgi/php-src/ext/gd/tests/38179.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/gd/tests/38179.phpt diff -u /dev/null php-src/ext/gd/tests/38179.phpt:1.2 --- /dev/null Sun Jul 23 21:48:18 2006 +++ php-src/ext/gd/tests/38179.phpt Sun Jul 23 21:48:18 2006 @@ -0,0 +1,28 @@ +--TEST-- +imagecopy doen't copy alpha, palette to truecolor +--SKIPIF-- +<?php + if (!function_exists('imagecopy')) die("skip gd extension not available\n"); +?> +--FILE-- +<?php +$src = imagecreate(5,5); +$c0 = imagecolorallocate($src, 255,255,255); +$c1 = imagecolorallocatealpha($src, 255,0,0,70); + +imagealphablending($src, 0); +imagefill($src, 0,0, $c1); + +$dst_tc = imagecreatetruecolor(5,5); +imagealphablending($dst_tc, 0); + +imagecopy($dst_tc, $src, 0,0, 0,0, imagesx($src), imagesy($src)); + +$p1 = imagecolorat($dst_tc, 3,3); +printf("%X\n", $p1); + +imagedestroy($src); imagedestroy($dst_tc); +?> +--EXPECTF-- +46FF0000 + http://cvs.php.net/viewvc.cgi/php-src/ext/gd/libgd/gd.c?r1=1.93&r2=1.94&diff_format=u Index: php-src/ext/gd/libgd/gd.c diff -u php-src/ext/gd/libgd/gd.c:1.93 php-src/ext/gd/libgd/gd.c:1.94 --- php-src/ext/gd/libgd/gd.c:1.93 Fri Dec 30 09:53:05 2005 +++ php-src/ext/gd/libgd/gd.c Sun Jul 23 21:48:18 2006 @@ -2190,7 +2190,7 @@ for (x = 0; (x < w); x++) { int c = gdImageGetPixel (src, srcX + x, srcY + y); if (c != src->transparent) { - gdImageSetPixel (dst, dstX + x, dstY + y, gdTrueColor(src->red[c], src->green[c], src->blue[c])); + gdImageSetPixel(dst, dstX + x, dstY + y, gdTrueColorAlpha(src->red[c], src->green[c], src->blue[c], src->alpha[c])); } } }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php