我该如何压缩图像?

我有5000张需要压缩的图像(在我的网站上显示)。

我是Ubuntu的新手。 那我该怎么办?

我使用Trimage超级简单易用。

只添加图片并压缩安装:

sudo apt-get install trimage 

在此处输入图像描述

“压缩”这个词似乎在这个问题中被误解了,但它仍然有效,具体取决于您希望看到的上下文。

风景

让我们面对Web设计师,Web开发人员和/或Web主人需要“压缩”我们的图像文件,以便使他们足够“轻量级”,以便在我们直接在真实的生产环境中工作时快速上传到我们的托管。 如果我们在本地测试生产环境中工作,这将不会影响。

许多答案似乎是指其他事情,主要是因为 – 可能是因为他们没有面对这样的风景。 这就是我开始解释这一点的原因。

所以。 让我们理解答案需要解决的问题:

  1. 图片必须轻巧
  2. 图片必须“压缩”才能丢失文件大小,但不会被另一个指向此问题重复的用户所引用的“rezised” JPG批量压缩和重命名(找-exec,xargs,piping?)
  3. 图片应该是批量压缩的,最好是通过GUI。

轻量级图片

让我们首先了解一个“轻量级图片”应该是什么。

分辨率超过1024像素的高清晰图片可能会有很大的文件大小。 我在这个截图中提供了一个示例:

在此处输入图像描述

在此处输入图像描述

在文件属性窗口中,我们可以看到这是一个9.5 MB的文件,这会延迟很多上传,并且会在网站上发布时在屏幕上呈现时会延迟很多。

然而,图像尺寸和网格分辨率对于高清晰度打印非常有用。 所以这是一个不同的风景,我不会在这个解释中介绍。

那么,我怎样才能在网站上使用这个图像,而无需等待多年才上传和等待其他几年以便在我的网站上显示它?

该文件应该被压缩。

当我们谈论“压缩”时,我们明确需要改变它的质量,以使其可用于我们面临的情况。

那么,让我们在终端中删除下一个:

 convert seminario-tabloide.png test.jpg 

这将把高清PNG格式转换为“压缩”的JPG格式,这本身就是一个较小的文件! 它从9.5 MB到2.4 MB。

在此处输入图像描述

然而大?

但是,2.4 MB是一个很大的文件大小。 现在让我们使用其他一些ImageMagick 转换命令来创建更小的文件大小:

 convert test.jpg -quality 50% test-50p.jpg 

这是我们为了“压缩”图像而需要做的事情。 这将使图像质量降低50%并提供938.4 KB <===(注意:KILOBYTES,甚至不是兆字节)文件大小。

我们可以通过调整同一命令中的百分比来进一步创建更小的文件大小:

 convert test.jpg -quality 30% test-30p.jpg 

请记住,在此示例中,我们降低了文件的质量,而不是图像尺寸。 这将导致压缩文件在屏幕上呈现时不会受到视觉影响,但是当以大纸张尺寸(大于字母)打印时,您将看到工件。

resize+压缩=超酷!

现在。 我们可以做不同的事情。 确实有两件事:我们可以先调整图像大小并在此之后应用压缩,这将导致文件尺寸小于原始图像,并且会在屏幕上呈现有用的图像,这对于打印来说不是很好,但似乎我们需要在屏幕上而不是在打印的横幅中显示它,对吧?

所以我们这样做:

 convert seminario-tabloide.png -resize 1024x test-1024x.jpg 

使用此指令,我们要求将图像的大小调整为1024像素宽,需要任意数量的像素,以免丢失纵横比。

现在……猜猜怎么着?

文件大小从9.5 MB减少到…(请加入康茄舞的悬疑音乐) 433.7 KILOBYTES

如果我们希望最大限度地压缩像这样的最大压缩文件,我们将面临在文件中插入的一些开销数据,这将导致更大的文件大小。 所以我不建议你尝试,但如果你期待我做这个例子,好的……我们走吧!

 convert test-1024x.jpg -quality 50% test-1024x-50p.jpg 

我们在一个命令中从433.7 KB增加到176.2 KB 。 这个例子很成功,但是不要指望任何练习会导致文件较小。 但是在运行这种练习时你可以获得很多乐趣。

批处理

哦! 但我几乎忘记了其中一个需求:轻松地将这个过程应用于大量图片。

对于这样的事情,我们可以用两个过程来完成。

终点站

这更快,更容易。 所以让我们告诉终端我们需要在目录中的所有文件中运行相同的指令,之后我将解释其他指令。

将全部转换为1024px(您可以使用任何像素数量)

 for i in *; do convert $i -resize 1024x $i-1024x.jpg; done; 

在这里,我们要求命令对目录中的所有文件运行相同的指令,应用转换并删除具有不同名称的副本,以便于选择。

降低目录中所有图片的百分比(使用您希望的任何百分比)的质量:

 for i in *-1024x.jpg; do convert $i -quality 50% $i-50p.jpg; done; 

在这里,我们要求resize的图像质量,以使其文件大小。

您可以使用这些命令并查看结果。 经过几个小时的娱乐,你将成为一名专家。

Nautilus脚本

在2015年4月20日,我遇到了原始问题的情况,所以我不得不做一些研究并在一个问题上寻求帮助。 这就是为什么现在我知道很多这个。 不要以为我有这种知识,男人。

如果您不习惯使用终端和/或希望使用GUI来简单地选择文件组并应用转换,您可以创建自己的Nautilus动作脚本,只需右键单击文件组并选择上下文菜单中的选项。

有关如何执行此类操作的说明,请在此处阅读问题,答案和注释: 如何使用Nautilus-Actions批量处理JPG图像以更改其质量?

祝好运!

如果您指的是jpeg图像,则无法进行事实上的压缩。 因为jpeg 定义为压缩文件格式(所有噪声和无用像素都已被删除)。 你可以拉链它们,但总尺寸将保持不变。 我知道的jpegs唯一高级压缩算法是zipx。 但是zipx是Winzip专有的,可确保最大化。 大小减少30%(在zipx存档模式下)。

要在Web上显示图像 ,首先应调整它们的大小(每个1MB以下),并可选择将它们转换为png文件格式。 PNG(=便携式网络图形)专门针对更快的Web传输和更快的显示进行了优化。 高级用户甚至可以将这些图像转换为webp格式(Google的图片格式,最快的加载算法)。

您可以使用XnConvert批量转换图片,然后使用XnView批量调整图片大小。 从这里下载deb软件包: http : //www.xnview.com/de/xnviewmp/#downloads ,然后右键单击它并使用Gnome Software打开它。

如果您不关心网络加载速度,但关心质量,则应保持图像不变,并为它们创建数字图书馆。 也许将它们上传到公共服务器(雅虎,谷歌等)。