Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php imagepng生成黑色图像背景_Php_Gd_Gdlib_Imagecreatefrompng - Fatal编程技术网

Php imagepng生成黑色图像背景

Php imagepng生成黑色图像背景,php,gd,gdlib,imagecreatefrompng,Php,Gd,Gdlib,Imagecreatefrompng,下面是我的图像生成代码: $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

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

$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()
的“质量”参数:

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

可能您的原始图像对比度较低,低质量显示的是黑色图像。

您的代码似乎还可以。您可以检查片段是否不包含原始图像的黑色部分。您还可以尝试删除
imagepng()
的“质量”参数:

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

可能您的原始图像对比度较低,而低质量显示的是黑色图像。

t Hanks syscall,是的,图像质量存在一些问题。我删除了“质量”参数,它正常工作。但是我的函数生成的是纯文本类型的文件,而不是我的缩略图。。。知道为什么吗?找不到对此的解释。@PlayHardGoPro,如果您是从Web服务器获取图像,您可能应该在发送之前添加适当的标题。例如,在PHP中,
标题(“内容类型:image/png”)
@Syscall Hello。谢谢回复!我曾经使用这个标题,但我删除它有两个原因:我不想显示图像,只想生成并上传它;ii)那条线给了我黑屏。现在,我认为其他方面不正确。t Hanks syscall,是的,图像质量存在一些问题。我删除了'quality'参数,它工作了。但是我的函数生成的是纯文本类型的文件,而不是我的缩略图。。。知道为什么吗?找不到对此的解释。@PlayHardGoPro,如果您是从Web服务器获取图像,您可能应该在发送之前添加适当的标题。例如,在PHP中,
标题(“内容类型:image/png”)
@Syscall Hello。谢谢回复!我曾经使用这个标题,但我删除它有两个原因:我不想显示图像,只想生成并上传它;ii)那条线给了我黑屏。现在我觉得有些事情是不对的。