imagepng 生成黑色图像背景

imagepng generate black image background

下面是我的图片生成代码:

$thumb = imagecreatetruecolor($newwidth, $newheight) or die('Cannot Initialize new GD image stream'); 
    print_r($thumb);
    $source = imagecreatefrompng($filename) or die('Cannot Initialize new GD image stream'); 
    print_r($source);
    imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
    @imagepng(  $thumb, $original_img_dir_absolute_path.$original_img_name, 0 );

它将生成第一个 png,但只有黑色背景。 有人知道吗。

您的代码似乎没问题。您可以检查片段是否不占用原始图像的黑色部分。您也可以尝试删除 imagepng() 的 "quality" 参数:

imagepng($thumb, $original_img_dir_absolute_path . $original_img_name);

可能您的原始图片对比度低,低质量显示为黑色。