【发布时间】:2013-08-30 11:09:26
【问题描述】:
我想将每个上传的图像转换为 png。我认为 gd 是一个很好的方法,因为它会删除图像的元数据,并且不会尝试解析它。我读到 ImageMagick 可能在某些 linux 服务器上存在恶意软件漏洞......
我有两个问题:
- 如果原始文件是 PNG,gd 是否也会删除 PNG 元数据,还是应该在转换后使用 pngcrush?
- 与保存 JPEG 文件的质量损失相同,还是 PNG 格式更好?
【问题讨论】:
-
您只需要一个不会重新编码图像数据的专用 PNG 库或命令行工具。 JPEG 也一样。这对于 GD 库来说是不可能的(应该已经回答了你的问题:使用 pngcrush)。
-
保存为 jpeg 会降低质量,但文件大小会变小,使用 png 不会降低质量。
-
评论有争议:S @hakre 所以重新编码 png 文件也会降低图像质量?这确定吗?
-
@hakre "PNG 是一种无损压缩格式,用于通过计算机网络传输单个位图图像。"因此,如果我使用 GD 加载每个图像并将它们保存为 PNG,它们将不会丢失质量....
-
@inf3rno:gd 将重新编码浪费的图像。您也无法很好地控制图像格式的细节,无论是 PNG 还是 JPG。
标签: php image security file-upload