2

我需要将上传的图像大小调整为最大 100 kB。可能吗 ?

例如:尺寸为 1200x600 的 image1.jpg 有 280kB,我需要将其调整为 <100kB。

4

6 回答 6

4

最新版本的 ImageMagick 允许您指定 JPEG 文件的最大大小,如下所示:

convert input.jpg -define jpeg:extent=100kb output.jpg

尽最大努力使输出文件小于 100kB。

于 2015-04-09T21:06:31.587 回答
2

尝试这个

convert DSC_0124.JPG -resize 602x400! -strip -define jpeg:extent=100KB img1.jpg
于 2017-02-27T08:01:36.980 回答
1

简短的回答:没有。

长答案:这是可能的,但它可能比它的价值更麻烦。

JPEG 在其物理尺寸和文件大小之间没有固定的关系,因为用于压缩图像的算法不仅考虑了图像的内容,而且还考虑了一个决定压缩过程“有损”程度的“质量”因素将会。它可以让您节省磁盘空间,但您的图像看起来更糟。

最好的方法是使用试错法来找到一个图像大小 [尺寸],使您达到100kB附近并具有不错的质量因子,在脚本中调整大小,检查图像的文件大小是否仍然太大,并在必要时开始降低质量。

于 2013-10-08T17:27:52.963 回答
0

如果您使用的是基于 linux 的服务器,我建议您使用 imagemagick,它有一个很好的 CLI,可以轻松地与 Web 语言交互。

根据分辨率或质量对您来说是否更重要,有几种方法可以解决这个问题。

根据图像复杂性,您正在寻找 1200x600 图像的大约 500K 和 3K 之间的文件大小

像这样的命令

"imagemagick inputfile.jpg -quality 80 -resize 1200x600" 

可能适用于大多数情况,但您可以更细化并检查文件大小和内容,并为您的质量提供动态值。

于 2013-10-08T17:25:45.470 回答
0

看看这个

它应该是您正在寻找的解决方案。

于 2013-10-08T17:18:36.727 回答
0

您将需要使用 gd/imagemagick

例如 http://phpthumb.gxdlabs.com/

于 2013-10-08T17:17:15.530 回答