0

我有一个图像上传表单,它应该采用图像类型(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

4 回答 4

2

您需要查看您的 PHP 是如何构建的。例如:

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

如果您没有编译 PNG 支持,则需要对其进行更新。

于 2008-10-06T22:47:29.017 回答
1

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

imagejpg()or不同imagegif()imagepng()接受 0-9 的整数进行压缩。所以我将 100 作为参数传递,认为质量会更高,但我想我将其视为最大压缩。通过 0 解决了这个问题。

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

于 2008-10-06T23:14:44.050 回答
0

您是从 PNG-8 图像开始的吗?在使用 PHP 时,PNG-8 与 PNG-24 存在一些问题。确保编译了 PNG 支持,然后看看这个人对 PNG-8 问题的解决方案

于 2008-10-06T22:54:54.243 回答
0

检查,我有PNG支持:

'GIF 读取支持' => boolean true 'GIF 创建支持' => boolean true 'JPG 支持' => boolean true 'PNG 支持' => boolean true

不过谢谢你的回复……以为就这样了

于 2008-10-06T22:57:03.570 回答