PHP JPEG 裁剪:质量下降?
Posted
技术标签:
【中文标题】PHP JPEG 裁剪:质量下降?【英文标题】:PHP JPEG Crop : Loss of quality? 【发布时间】:2010-10-22 15:33:21 【问题描述】:我正在开发一个网络打印、海报打印应用程序。
我正在考虑使用 php 来裁剪用户上传的图像,我们最终将打印 PHP 裁剪的图像。
我担心用户上传的原始图片和经过 PHP 裁剪后的图片之间的“质量”会有所不同。
PHP在处理时会影响图片的质量吗?还是保留图像的质量并简单地裁剪相关区域?
非常感谢,
BK
【问题讨论】:
【参考方案1】:JPEG 是有损压缩。有点过于简单,但它通过分析其他像素周围的像素来查看它们的相似程度。并非每个像素都被存储,这意味着不可能简单地从图像数据中切出字节来执行裁剪。如果您要输出 JPEG,您将重新压缩已压缩的图像,并且质量会有所下降。但是,如果您裁剪图像并且输出是无损格式,则不会有质量损失。
需要明确的是,质量损失不在作物操作中。这是图像本身被压缩的方式。如果源图像使用 JPEG 压缩,则质量已经丢失。当您裁剪该图像时,您不会再丢失任何内容,但如果您之后再次输出 JPEG,则需要重新压缩,因此损失更多。
所以最后,让你的最终输出为 PNG 或无损的,你就不用担心了。
【讨论】:
实际上,如果您以块大小的倍数裁剪 JPEG,专业软件可以保存 JPEG 而无需重新编码。 好点乔治。虽然我怀疑它是否适用于此,但一些快速的谷歌搜索发现了一些人在 PHP 文档 cmets 上编写的一些代码,用于手动读取 JPEG。在那里,他计算出块的大小。这可能是一个很好的起点。 php.net/manual/en/function.getimagesize.php#88793以上是关于PHP JPEG 裁剪:质量下降?的主要内容,如果未能解决你的问题,请参考以下文章