我有一个图片上传表单,应该采用图片类型(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。
答案 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支持'=>布尔值
感谢你的回复......认为这就是它