PHP中的PNG创建(它与gif和jpg不同吗?)

时间:2008-10-06 22:35:34

标签: php image png jpeg gif

我有一个图片上传表单,应该采用图片类型(PNG,JPEG,GIF),调整大小,然后将其保存到路径。

出于某种原因,我无法使PNG文件类型起作用,它可以正常使用JPEG / GIF并且文件被复制,因此看起来它与我如何创建PNG有关。

PHP中的PNG创建是否需要不同的参数或选项?一些用于创建图像的线的示例代码:

$src = imagecreatefrompng($uploadedfile);
imagecreatetruecolor($newWidth,$newHeight)
imagecopyresampled($tmp,$src,0,0,0,0,$newWidth,$newHeight,$width,$height);
imagepng($tmp,$destinationPath."/".$destinationFile,100);

相同的命令适用于JPG和GIF。

4 个答案:

答案 0 :(得分:2)

您需要了解PHP的构建方式。例如:

GD Support  enabled
GD Version  bundled (2.0.28 compatible) 
PNG Support     enabled 

如果您没有编译好PNG支持,则需要更新。

答案 1 :(得分:1)

我想出了问题,只是我没有阅读API的问题:P。

imagejpg()imagegif()不同,imagepng()接受0-9的整数进行压缩。所以我传递100作为参数,认为质量会更高,但我猜我把它当作最大压缩。传递0解决了问题。

也许API已经从PHP版本改变了?

答案 2 :(得分:0)

您是从PNG-8图像开始的吗?使用PHP时,PNG-8与PNG-24存在一些问题。确保编译了PNG支持,然后选择look at this persons solution to the PNG-8 problem

答案 3 :(得分:0)

选中并获得PNG支持:

'GIF阅读支持'=>布尔值为true   'GIF创建支持'=>布尔值为true   'JPG Support'=>布尔值为true   'PNG支持'=>布尔值

感谢你的回复......认为这就是它