【发布时间】:2018-09-23 12:13:27
【问题描述】:
我需要帮助。 我尝试使用 imagecropauto(),但 PNG 仍然是黑色背景。代码如下:
$im = imagecreatefrompng($imgPath);
imagealphablending($im, false);
imagesavealpha($im, true);
// if imagepng($im...) called here, original PNG is saved with transparency
// if I use IMG_CROP_TRANSPARENT - crop doesn't works
// IMG_CROP_SIDES working how I expect
$cropped = imagecropauto($im, IMG_CROP_SIDES);
if ($cropped !== false) {
// destroy old image
imagedestroy($im);
imagealphablending($cropped, false);
imagesavealpha($cropped, true);
// save cropped image with black background
imagepng($cropped, $imgPath);
imagedestroy($cropped);
}
有什么建议吗?
编辑: PNG 图像通过点上的 alpha 通道是透明的,因此某些点的不透明度低于其他点。如果我使用 imagealphablending - true(默认),我只能将一种颜色设置为透明,结果在图片周围有黑线。
【问题讨论】:
标签: php png transparency