【问题标题】:Php - clear PNG metadata but keep similar qualityPhp - 清除 PNG 元数据但保持相似的质量
【发布时间】:2013-08-30 11:09:26
【问题描述】:

我想将每个上传的图像转换为 png。我认为 gd 是一个很好的方法,因为它会删除图像的元数据,并且不会尝试解析它。我读到 ImageMagick 可能在某些 linux 服务器上存在恶意软件漏洞......

我有两个问题:

  1. 如果原始文件是 PNG,gd 是否也会删除 PNG 元数据,还是应该在转换后使用 pngcrush?
  2. 与保存 JPEG 文件的质量损失相同,还是 PNG 格式更好?

【问题讨论】:

  • 您只需要一个不会重新编码图像数据的专用 PNG 库或命令行工具。 JPEG 也一样。这对于 GD 库来说是不可能的(应该已经回答了你的问题:使用 pngcrush)。
  • 保存为 jpeg 会降低质量,但文件大小会变小,使用 png 不会降低质量。
  • 评论有争议:S @hakre 所以重新编码 png 文件也会降低图像质量?这确定吗?
  • @hakre "PNG 是一种无损压缩格式,用于通过计算机网络传输单个位图图像。"因此,如果我使用 GD 加载每个图像并将它们保存为 PNG,它们将不会丢失质量....
  • @inf3rno:gd 将重新编码浪费的图像。您也无法很好地控制图像格式的细节,无论是 PNG 还是 JPG。

标签: php image security file-upload


【解决方案1】:

如果您要在 PHP 中打开 png,将其复制到新资源中,然后以完整质量保存(在 PNG 中,JPEG 将失去质量),它将执行您想要的操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 2016-08-29
    • 2020-03-03
    • 2020-02-19
    • 1970-01-01
    • 2015-04-05
    • 2013-02-09
    相关资源
    最近更新 更多