当我使用GD库在php中执行和图像叠加时,我总是得到黑色背景,但是,所有图像都正确叠加。有人可以帮忙吗?
<?php
$images = array( $_GET['color'], $_GET['face'], $_GET['hat'] );
$img = imagecreatetruecolor(58, 75);
imagealphablending($img, true);
imagesavealpha($img, true);
imagecolorallocate($img, 255, 205, 255);
imagecolorallocate($img, 255, 255, 255);
imagecolortransparent($img, $white);
imagefilledrectangle($img, 0, 0, $imgWidth, $imgHeight, $white);
foreach($images as $fn) {
$cur = imagecreatefrompng($fn);
imagealphablending($cur, true);
imagesavealpha($cur, true);
imagecopy($img, $cur, 0, 0, 0, 0, 58, 75);
imagedestroy($cur);
}
header('Content-Type: image/png');
imagepng($img);
?>
答案 0 :(得分:0)
// Create an image
$img = imagecreatetruecolor($imgWidth, $imgHeight);
$white = imagecolorallocate($img, 255, 255, 255);
// Make the background white
imagefilledrectangle($img, 0, 0, $imgWidth, $imgHeight, $white);
......可以提供帮助。
答案 1 :(得分:0)
这是一个常见问题,答案已在stack overflow上提供;那里的答案完美地解决了这个问题。您可能想尝试更难搜索:)
如果您打算尝试做的不仅仅是最基本的图像操作,我建议您可以使用功能更强大(但遗憾的是文档很少)的imagick库来让您的生活更轻松;它更快,更容易(再次,一旦你通过文档)和更强大。