- MFB: #39273, imagecopyresized and alpha channel

This commit is contained in:
Pierre Joye 2006-11-04 02:23:45 +00:00
parent 97d10609bd
commit 799e6c0e98
2 changed files with 33 additions and 1 deletions

View file

@ -754,7 +754,7 @@ int gdImageGetTrueColorPixel (gdImagePtr im, int x, int y)
int p = gdImageGetPixel(im, x, y);
if (!im->trueColor) {
return gdTrueColorAlpha(im->red[p], im->green[p], im->blue[p], (im->transparent == p) ? gdAlphaTransparent : gdAlphaOpaque);
return gdTrueColorAlpha(im->red[p], im->green[p], im->blue[p], (im->transparent == p) ? gdAlphaTransparent : im->alpha[p]);
} else {
return p;
}

View file

@ -0,0 +1,32 @@
--TEST--
Bug #37360 (gdimagecreatefromgif, bad image sizes)
--SKIPIF--
<?php
if (!extension_loaded('gd')) die("skip gd extension not available\n");
if (!GD_BUNDLED) die('skip external GD libraries always fail');
?>
--FILE--
<?php
$small = imagecreatetruecolor(10, 10);
$c1 = imagecolorallocatealpha($small, 255,0,0,50);
imagecolortransparent($small, 0);
imagealphablending($small, 0);
imagefilledrectangle($small, 0,0, 6,6, $c1);
$width = 300;
$height = 300;
$srcw = imagesx($small);
$srch = imagesy($small);
$img = imagecreatetruecolor($width, $height);
imagecolortransparent($img, 0);
imagealphablending($img, false);
imagecopyresized($img, $small, 0,0, 0,0, $width, $height, $srcw, $srch);
imagesavealpha($img, 1);
$c = imagecolorat($img, 0,0);
printf("%X", $c);
?>
--EXPECTF--
32FF0000