【问题标题】:PHP JPEG Crop : Loss of quality?PHP JPEG 裁剪:质量下降?
【发布时间】:2010-10-22 15:33:21
【问题描述】:

我正在开发一个网络打印、海报打印应用程序。

我正在考虑使用 PHP 来裁剪用户上传的图像,我们最终将打印 PHP 裁剪的图像。

我担心用户上传的原始图片和经过 PHP 裁剪后的图片之间的“质量”会有所不同。

PHP在处理时会影响图片的质量吗?还是保留图像的质量并简单地裁剪相关区域?

非常感谢,

BK

【问题讨论】:

    标签: php image jpeg crop


    【解决方案1】:

    JPEG 是有损压缩。有点过于简单,但它通过分析其他像素周围的像素来查看它们的相似程度。并非每个像素都被存储,这意味着不可能简单地从图像数据中切出字节来执行裁剪。如果您要输出 JPEG,您将重新压缩已压缩的图像,并且质量会有所下降。但是,如果您裁剪图像并且输出是无损格式,则不会有质量损失。

    需要明确的是,质量损失不在作物操作中。这是图像本身被压缩的方式。如果源图像使用 JPEG 压缩,则质量已经丢失。当您裁剪该图像时,您不会再丢失任何内容,但如果您之后再次输出 JPEG,则需要重新压缩,因此损失更多。

    所以最后,让你的最终输出为 PNG 或无损的,你就不用担心了。

    【讨论】:

    • 实际上,如果您以块大小的倍数裁剪 JPEG,专业软件可以保存 JPEG 而无需重新编码。
    • 好点乔治。虽然我怀疑它是否适用于此,但一些快速的谷歌搜索发现了一些人在 PHP 文档 cmets 上编写的一些代码,用于手动读取 JPEG。在那里,他计算出块的大小。这可能是一个很好的起点。 php.net/manual/en/function.getimagesize.php#88793
    猜你喜欢
    • 1970-01-01
    • 2019-10-27
    • 2015-07-07
    • 2016-09-25
    • 1970-01-01
    • 2021-01-31
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    相关资源
    最近更新 更多