ImageMagick是一个免费的开源软件套件, 用于编辑和操作数字图像。它可用于创建,编辑,合成或转换位图图像,它支持多种文件格式,包括JPEG,PNG,JPG,WEBP等。ImageMagick被广泛应用于诸如网络开发、图形设计、视频编辑、科学研究、医学影像和天文学等行业。其多功能且可定制的特性,以及强大的图像处理能力,使其成为广泛用于各种与图像相关任务的首选工具。
mageMagick包含一个用于执行复杂图像处理任务的命令行界面,以及用于将其功能集成到软件应用程序中的API。它使用C语言编写,可在多种操作系统上使用,包括Linux、Windows和macOS。
软件套件 | 软件 | |
---|---|---|
定义 | 一组相关联的软件程序的集合,通常由同一家公司或组织开发,并被设计成协同工作以完成特定任务或解决特定问题 | 任何类型的可执行代码或指令集合,可以在计算机或其他设备上运行以执行特定的功能 |
特性 | 通常具有共同的主题或目标,它们可能在功能上相互补充,使用户能够在一个集成的环境中完成各种任务 | 可以是独立的应用程序,也可以是软件套件的一部分 |
举例 | 典型的软件套件包括Microsoft Office(包括Word、Excel、PowerPoint等)、Adobe Creative Suite(包括Photoshop、Illustrator、InDesign等)等 | 软件的范围非常广泛,从操作系统到应用程序、游戏、工具等各种类型的软件都属于这个范畴。 |
1.简单示例
$ magick origin.jpg target.webp
这个命令,将一个jpg的图片转换为webp格式的图片。下面再介绍一下常用的操作。
2.Resize
2.1 保持长宽比
指定像素
假设您有数百张大型 JPG 图像想要转换为一系列 PNG 缩略图(thumbails),可以使用如下命令,该命令会将原图片按照长宽比, 将图片的最长边变为120像素:
$ magick *.jpg -resize 120x120 thumbnail%03d.png
如下命令可以读取所有图像并随后调整大小。在读取每个图像时调整其大小会更快且资源消耗更少:
$ magick *.jpg[120x120] thumbnail%03d.png
等比例
使用如下命令,可以指定图片缩放/扩大的比例:
$ magick *.jpg -resize 50% %03d.webp
3.Compress
3.1 quality
可以使用-quality
参数:
对于 JPEG 和 MPEG 图像格式,质量为 1(最低图像质量和最高压缩)到 100(最佳质量但效率最低的压缩);使用输入图像的估计质量,否则默认使用 92。
对于JPEG-2000图像格式,质量使用非线性方程映射到Jasper库所需的压缩比。这个非线性方程旨在粗略地逼近JPEG v1格式提供的质量。默认质量值为100,表示请求无损压缩。质量为75表示请求16:1的压缩比。
对于MNG和PNG图像格式,质量值设置zlib压缩级别(质量/10)和滤波器类型(质量%10)。默认PNG的“质量”为75,这意味着压缩级别7,并使用自适应PNG滤波,除非图像有一个颜色映射,那么它的意思是压缩级别7且没有PNG滤波。[MNG(Multiple-image Network Graphics)图像是一种多图像网络图形格式,旨在成为GIF的改进替代品,MNG格式是由PNG图像格式派生而来,因此它使用了PNG的压缩算法和数据结构,并添加了支持多帧和动画的功能。]
总结, 对于不同的图像格式, 默认的压缩级别不同且使用的压缩算法不同, 想要了解可以深入学习.
$ magick origin.jpg -quality 60 target.webp
如下是指定质量为90时生成的文件大小[001-003.webp]
如下是指定质量为30时生成的文件大小:
3.2 compress Type
可以使用指定类型的像素压缩来编辑图像。可选项有:无压缩(None)、BZip、Fax、Group4、JPEG、JPEG2000、无损(Lossless)、LZW、RLE或Zip。
无损(Lossless)指的是无损JPEG,只有在JPEG库已经修补以支持它的情况下才可用。通常不建议使用无损JPEG。
当编写ICO文件时,可以通过指定Zip压缩来请求以PNG格式编码图像。
4.批量转换
直接使用通配符, 或者使用mogrify
命令
4.1 magick
$ magick *.jpg test%03d.webp
执行完上个命令后, 结果如下图所示:
4.2 mogrify
下列命令将目录下所有jpg图片转为webp格式的图片(图片名称不变, 仅转换文件格式-修改后缀),需要注意如果不使用-format
参数,会直接在原图上修改.
$ mogrify -format webp *.jpg
5. 常用的命令行工具
- magick:主要命令,整合了以前版本中的convert、identify等命令,用于进行图像格式转换、大小调整、图像合并等操作。
- mogrify:与magick命令类似,用于对图像进行批量处理,但它直接修改原始图像文件,而不是创建新的输出文件。
- identify:用于获取图像文件的信息,如格式、尺寸、颜色信息等。
- composite:用于将一个图像叠加在另一个图像上,可以实现图像的合成效果。
- montage:用于创建多图像拼贴,可以将多张图片排列在一起形成一个组合图像。
- animate:用于播放动画,可以将一系列图像文件组合成一个动画效果。
- stream:用于将图像数据从文件或标准输入流中读取,并输出图像信息。
还有什么其他问题欢迎随时提问! 寇墨喜欢交流~~
Comments NOTHING