我使用以下代码
从其他图像创建了一个图像 imagepng(imagecreatefromstring(file_get_contents(destination path)),source_path);
图像已创建,但当我尝试从透明图像创建png图像时,背景变为黑色颜色。
为什么会这样?如何解决这个问题?
答案 0 :(得分:1)
如果查看GD Documentation,您会找到基于alpha的功能。直接从imagesavealpha()获取的是以下代码,它打开一个png并输出它并保持透明度;
// Load a png image with alpha channels
$png = imagecreatefrompng('./alphachannel_example.png');
// Do required operations
// (So any resizing/rotating/cropping etc)
// Turn off alpha blending and set alpha flag
imagealphablending($png, false);
imagesavealpha($png, true);
// Output image to browser
header('Content-Type: image/png');
imagepng($png);