【发布时间】:2014-04-21 18:43:52
【问题描述】:
我使用以下代码从其他图像创建了一个图像,
imagepng(imagecreatefromstring(file_get_contents(destination path)),source_path);
图像已创建,但是当我尝试从 透明 图像创建 png 图像时,背景变为 黑色 颜色。
为什么会这样?如何解决?
【问题讨论】:
我使用以下代码从其他图像创建了一个图像,
imagepng(imagecreatefromstring(file_get_contents(destination path)),source_path);
图像已创建,但是当我尝试从 透明 图像创建 png 图像时,背景变为 黑色 颜色。
为什么会这样?如何解决?
【问题讨论】:
如果您查看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);
【讨论】: