Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP JPEG裁剪:质量损失?_Php_Image_Jpeg_Crop - Fatal编程技术网

PHP JPEG裁剪:质量损失?

PHP JPEG裁剪:质量损失?,php,image,jpeg,crop,Php,Image,Jpeg,Crop,我正在开发一个web打印、海报打印应用程序 我正在考虑使用PHP裁剪用户上传的图像,我们最终将打印PHP裁剪的图像 我担心的是,原始用户上传的图像和PHP裁剪后的图像在“质量”上会有差异 处理图像时,PHP会影响图像质量吗?还是保留图像质量,只需裁剪相关区域? 非常感谢, BKJPEG是有损压缩。有点过于简单化,但它通过分析其他像素周围的像素来查看它们有多相似。并不是每个像素都被存储,这意味着不可能简单地从图像数据中删除字节来执行裁剪。如果您正在输出JPEG,您将重新压缩已经压缩的图像,并且会有

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

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

我担心的是,原始用户上传的图像和PHP裁剪后的图像在“质量”上会有差异

处理图像时,PHP会影响图像质量吗?还是保留图像质量,只需裁剪相关区域?

非常感谢,


BK

JPEG是有损压缩。有点过于简单化,但它通过分析其他像素周围的像素来查看它们有多相似。并不是每个像素都被存储,这意味着不可能简单地从图像数据中删除字节来执行裁剪。如果您正在输出JPEG,您将重新压缩已经压缩的图像,并且会有一些质量损失。但是,如果裁剪图像并且输出为无损耗格式,则不会出现质量损失

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


因此,最后,让您的最终输出为PNG或非有损的,您就不用担心了。

事实上,如果您以块大小的倍数裁剪JPEG,专用软件可以保存JPEG,而无需重新编码。这一点很好。虽然我怀疑它是否适用于这里,但一些快速的谷歌搜索发现了一些人在PHP文档注释中编写的代码,用于手动阅读JPEG。在那里,他计算出了块的大小。这可能是一个好的开始。