精品软件与实用教程
一,ImageMagick的作用:
ImageMagick 是一个用来创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。
功能包括:图片切割、颜色替换、各种效果的应用,图片的旋转、镜像、写入文字到图片等。
二,yum安装ImageMagick:
1,yum安装ImageMagick
[root@uzbox]# yum install ImageMagick
说明:注意软件包名字中I和M均为大写
2,检查软件是否安装成功?
[root@uzbox ~]# whereis convert
convert: /usr/bin/convert /usr/share/man/man1/convert.1.gz
三,查看当前安装的ImageMagick的版本和帮助
1,查看版本
[root@uzbox ~]# convert -version
Version: ImageMagick 6.9.10-86 Q16 x86_64 2020-01-13 https://imagemagick.org
Copyright: © 1999-2020 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC Modules OpenMP(4.5)
Delegates (built-in): bzlib cairo fftw fontconfig freetype gslib gvc jbig jng jp2 jpeg
lcms ltdl lzma openexr pangocairo png ps raqm raw rsvg tiff webp wmf x xml zlib
2,查看帮助
[root@uzbox ~]# convert --help
3,查看手册
[root@uzbox ~]# man ImageMagick
四,查看imagemagick支持的特性:
1,列出imagemagick支持的所有格式:
[root@uzbox ~]# convert -list format
2,检查当前的imagemagick版本是否支持webp
[root@uzbox conf.d]# convert -list format | grep -i webp
WEBP* WEBP rw+ WebP Image Format (libwebp 1.0.0 [020E])
3,显示所有可用的字体:
[root@uzbox ~]$ convert -list font
4,显示所有颜色通道类型
[root@uzbox ~]$ convert -list channel
5,显示所有的颜色空间
[root@uzbox ~]$ convert -list colorspace
6,显示所有的像素压缩类型
[root@uzbox ~]$ convert -list compress
7,显示所有的颜色名
[root@uzbox ~]$ convert -list color
8,显示所有的过滤器
[root@uzbox ~]$ convert -list filter
五,一个最常用的例子,生成webp缩略图:
给图片生成webp缩略图,供网站使用:
1, 原大的图片如果太大,不能直接展示在网站页面上,
不但流费server的流量,而且用户打开时非常费时间,
所以要生成缩略图。
供web使用的缩略图用jpg和webp均可
我们生成两个缩略图,比较一下大小
2,下载一张壁纸,作为测试图使用
[root@uzbox ~]# wget https://boxqu.com/storage/2021/01/2021012209524593.jpg
查看这张图片的大小
[root@uzbox ~]# ll -h 2021012209524593.jpg
-rw-r--r-- 1 root root 136K 1月 22 17:52 2021012209524593.jpg
查看这张图片的宽高:
[root@uzbox ~]# file 2021012209524593.jpg
2021012209524593.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, baseline, precision 8, 1680x1050, frames 3
3,生成jpg缩略图
#-resize 宽x高(缩放,不变形),因为两个值都是500px,所以宽和高中数值大的会是500
#+profile '*' : 去掉元数据信息,缩略图不需要保存这些内容
#-quality 90 : 指定图片的品质,品质越高,占用的空间越大,最大值是100
# 一般从85-90肉眼看不出和100的差别,但文件大小可以缩小更多
[root@uzbox ~]# convert -resize 500x500 +profile '*' -quality 90 2021012209524593.jpg 2021012209524593tmb.jpg
[root@uzbox ~]# file 2021012209524593tmb.jpg
2021012209524593tmb.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, baseline, precision 8, 500x313, frames 3
[root@uzbox ~]# ll -h 2021012209524593tmb.jpg
-rw-r--r-- 1 root root 38K 1月 22 18:00 2021012209524593tmb.jpg
4,生成webp缩略图
[root@uzbox ~]# convert -resize 500x500 +profile '*' -quality 90 2021012209524593.jpg 2021012209524593tmb.webp
[root@uzbox ~]# file 2021012209524593tmb.webp
2021012209524593tmb.webp: RIFF (little-endian) data, Web/P image, VP8 encoding, 500x313, Scaling: [none]x[none], YUV color, decoders should clamp
[root@uzbox ~]# ll -h 2021012209524593tmb.webp
-rw-r--r-- 1 root root 29K 1月 22 18:02 2021012209524593tmb.webp
5,从浏览器查看效果
看一下图片截图:
jpg格式:
webp格式:
6,结论:webp的图片质量和jpg相比,肉眼看不出差别,但文件缩小了40%左右,值得使用。
六,imagemagick相关知识:
imagemagick的profile:记录图片一些描述信息。例如相机信息(光圈,相机型号)、photoshop元数据,颜色表等信息
说明:图片的描述信息有些情况下会数据量比较大,
包括:
exif : 相机在拍照过程记录到照片中的光圈\厂商\型号\分辨率\拍摄时间等信息
iptc:IPTC元数据就是一种标准格式,它把元数据加入照片信息中,包括:作者,版权,字幕,细节描述等
photoshop metadata: photoshop写入到图片中的元数据,格式是xml
photoshop称之为XMP 元数据
七,查看centos版本:
[root@blog ~]$ cat /etc/redhat-release
CentOS Linux release 8.3.2011