dst->transparent = src->transparent;
if (dst != NULL) {
+ int old_blendmode = dst->alphaBlendingFlag;
+ dst->alphaBlendingFlag = 0;
+
gdImagePaletteCopy (dst, src);
for (uY = 0; uY<src->sy; uY++) {
}
}
}
+ dst->alphaBlendingFlag = old_blendmode;
}
return dst;
dst->transparent = src->transparent;
if (dst != NULL) {
+ int old_blendmode = dst->alphaBlendingFlag;
+ dst->alphaBlendingFlag = 0;
+
gdImagePaletteCopy (dst, src);
for (uY = 0; uY<src->sy; uY++) {
}
}
}
+ dst->alphaBlendingFlag = old_blendmode;
}
return dst;
dst->transparent = src->transparent;
if (dst != NULL) {
+ int old_blendmode = dst->alphaBlendingFlag;
+ dst->alphaBlendingFlag = 0;
+
gdImagePaletteCopy (dst, src);
for (uY = 0; uY<src->sy; uY++) {
}
}
}
+ dst->alphaBlendingFlag = old_blendmode;
}
return dst;
--- /dev/null
+--TEST--
+Bug #39366 (imagerotate does not respect alpha with angles>45)
+--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
+
+$im = imagecreatetruecolor(10,10);
+imagealphablending($im, 0);
+imagefilledrectangle($im, 0,0, 8,8, 0x32FF0000);
+$rotate = imagerotate($im, 180, 0);
+imagecolortransparent($rotate,0);
+imagesavealpha($rotate, true);
+$c = imagecolorat($rotate,5,5);
+printf("%X\n", $c);
+?>
+--EXPECTF--
+32FF0000