mirror of
https://github.com/php/php-src.git
synced 2025-08-20 01:14:28 +02:00
- MFB: #39273, imagecopyresized and alpha channel
This commit is contained in:
parent
97d10609bd
commit
799e6c0e98
2 changed files with 33 additions and 1 deletions
|
@ -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;
|
||||
}
|
||||
|
|
32
ext/gd/tests/bug39273.phpt
Normal file
32
ext/gd/tests/bug39273.phpt
Normal 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
|
Loading…
Add table
Add a link
Reference in a new issue