减少Linux中图片文件大小

时间:2020-02-23 14:41:42  来源:igfitidea点击:

在本文中,我们讨论了减少Linux中镜像文件大小的不同方法。
随着人们对图像质量的关注日益增加,图像文件的大小已大大增加。
不断需要减小此类大图像的文件大小,因此,我们为您带来了一篇涉及上述任务的文章。

1.在Linux中使用convert命令减小图片文件大小

在继续执行此命令之前,请确保它已存在于系统中。

convert命令位于ImageMagick软件包下。
Debian/Ubuntu用户可以通过运行以下命令安装ImageMagick

sudo apt install imagemagick

安装ImageMagick软件包

安装软件包后,我们可以运行man convert来查看命令支持的各种操作。

降低图片质量

减小图像尺寸的最简单方法是降低图像质量。

convert <INPUT_FILE> -quality 10% <OUTPUT_FILE>

按质量缩小图像

使用" convert"命令会大大降低图像质量。
如果我们要检查新文件的大小,可以通过以下方法进行检查:

du -h jd_logo*

检查新图像尺寸

du命令提供Linux中文件使用的磁盘数量。
在上面的命令中,我们显示" jd_logo"所有版本占用的空间量。

将Linux中图像的文件大小减小像素

如果我们减少图像的像素数量,则可以减小图像的文件大小。
为此,我们需要提供新的宽度和高度。

convert <INPUT_FILE> -resize 200x200 <OUTPUT_FILE>

按像素缩小文件大小

当我们拉伸其尺寸时,可以观察到缩小图像质量的下降。

即使命令中提供的尺寸违反了原始纵横比,也会恢复图像的纵横比。
转换背后的想法是缩小的图像必须适合指定的尺寸。

为了将图像缩小为准确的尺寸,并忽略宽高比,必须在" resize"参数之后使用"!"。

convert <INPUT_FILE> -resize 200x200! <OUTPUT_FILE>

转换图像格式

一些仅支持特定的文件扩展名,因此convert命令提供了转换图像格式的功能。

convert <INPUT_FILE> <OUTPUT_FILE>

Convert '.png' to '.jpg'

如果未提供任何参数,质量下降将达到92%。
在以上代码段中,我们将" .png"图像文件转换为" .jpg"文件。

"转换"命令具有数百种应用程序,例如旋转图像,应用效果或者在图像上绘制内容。
我们可以通过man convert参考手册页来掌握图像格式化工具。

为了转换多个文件,我们需要一个bash脚本,该脚本为所有图像运行一个循环。
还有一种处理多个图像文件的替代方法,它是ImageMagick软件包中的mogrify

2.使用mogrify命令

mogrify [OPTIONS] [FILE_LIST]

" convert"和" mogrify"命令之间的主要区别在于," mogrify"命令将操作应用于原始图像文件,而" convert"则没有。

此外,mogrify命令支持表达式在多个文件中排队。
例如:

mogrify -quality 10 *.jpg

Reducing file size of images

" convert"和" mogrify"的应用程序是相同的,因为它们是从同一程序包派生的。

3.使用Pngcrush处理PNG文件

pngcrush是PNG(便携式网络图形)文件优化器。
它通过各种压缩方法和过滤器来减小图像的文件大小。

Debian/Ubuntu用户可以运行以下命令进行安装。

sudo apt get install pngcrush

其他Linux发行版的用户可以使用其标准安装命令后跟pngcrush来安装它。

安装完成后,我们可以通过运行以下命令来减小PNG文件的大小:

pngcrush -brute <INPUT_FILE> <OUTPUT_FILE>

减少PNG文件大小

'-brute'选项通过114种过滤/压缩方法获取文件。
扩展过程耗时数秒钟。
用户可以选择过滤器,级别和策略来进行优化,而不必采用蛮力方法。

过滤器的类型和其他属性可以通过手册页– man pngcrush了解。

4.将Jpegoptim用于JPG文件

jpegoptim是JPG(联合摄影组)文件压缩器。
此命令支持百分比和目标文件大小作为参数以减小图像大小。

安装非常简单。

sudo apt install jpegoptim

安装完成后,我们可以运行:

jpegoptim --size=<TARGET_SIZE> <INPUT_FILE>

缩小JPG文件大小

jpegoptim实用程序会覆盖原始图像,因此建议保留备用图像文件。
此工具的最佳功能是接受目标文件大小,这可以节省特定大小的图像。

在上图中,我们将260 KB的文件压缩为20KB的图像。

图像差异

即使大小大幅减少了90%,图像的质量也保持不变。
该命令也支持基于百分比的压缩。

我们可以通过man jpegoptim从手册页中了解有关命令的更多信息。

5.使用Trimage GUI工具

trimage GUI工具是基本的拖放软件。
添加的文件将自动压缩到可能的无损文件大小。

安装与以前的方法类似。

sudo apt install trimage

安装完成后,我们可以通过在系统上搜索" trimage"来访问它。
修整窗口如下图所示:

使用" trimage"缩小图像尺寸

支持的列是:

  • 文件名
  • 原始图像的大小
  • 转换后图像的尺寸
  • 压缩百分比

该工具将覆盖原始图像。
由于压缩是无损的,因此压缩是最小的。

GIMP(GNU图像处理程序)是减少基于GUI的图像尺寸的不错选择,但绝对是一个过大的选择。