centos8上安装ImageMagick6.9.10并压缩图片生成webp缩略图

一,ImageMagick的作用:

ImageMagick 是一个用来创建、编辑、合成图片的软件。

它可以读取、转换、写入多种格式的图片。

功能包括:图片切割、颜色替换、各种效果的应用,

图片的旋转、镜像、写入文字到图片等。

 

说明:刘宏缔的架构森林是一个专注架构的博客,

网站:https://blog.imgtouch.com
本文: https://blog.imgtouch.com/index.php/2023/05/22/centos8linux-an-zhuang-imagemagick6910-bing-ya-suo-tu-pian-sheng-cheng-webp-suo-lue-tu/

         对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

 

二,yum安装ImageMagick

1,yum安装ImageMagick

[root@blog head]# yum install ImageMagick 

说明:注意软件包名字中I和M均为大写

2,检查软件是否安装成功?

[root@blog head]# whereis convert
convert: /usr/bin/convert /usr/share/man/man1/convert.1.gz 

 

三,查看当前安装的ImageMagick的版本和帮助

1,查看版本

[root@blog head]# 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@blog ~]# convert --help 

 

3,查看手册

[root@blog ~]# man ImageMagick

 

四,查看imagemagick支持的特性:

1,列出imagemagick支持的所有格式:

[root@blog ~]# convert -list format 

 

2,检查当前的imagemagick版本是否支持webp

[root@blog conf.d]# convert -list format | grep -i webp
     WEBP* WEBP      rw+   WebP Image Format (libwebp 1.0.0 [020E])

 

3,显示所有可用的字体:

[root@blog ~]$ convert -list font

 

4,显示所有颜色通道类型

[root@blog ~]$ convert -list channel

 

5,显示所有的颜色空间

[root@blog ~]$ convert -list colorspace

 

6,显示所有的像素压缩类型

[root@blog ~]$ convert -list compress

 

7,显示所有的颜色名

[root@blog ~]$ convert -list color 

 

8,显示所有的过滤器

[root@blog ~]$ convert -list filter

 

五,一个最常用的例子,生成webp缩略图:

给图片生成webp缩略图,供网站使用:

1, 原大的图片如果太大,不能直接展示在网站页面上,

   不但流费server的流量,而且用户打开时非常费时间,

   所以要生成缩略图。

   供web使用的缩略图用jpg和webp均可

   我们生成两个缩略图,比较一下大小

 

2,从百度上下载一张壁纸,作为测试图使用

[root@blog ~]# wget https://dss3.bdstatic.com/iPoZeXSm1A5BphGlnYG/skin/206.jpg

查看这张图片的大小

[root@blog ~]# ll -h 206.jpg
-rw-r--r-- 1 root root 297K May 19  2015 206.jpg

查看这张图片的宽高:

[root@blog ~]# file 206.jpg
206.jpg: JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], baseline, precision 8, 1600x1000, frames 3

 

3,生成jpg缩略图

#-resize 宽x高(缩放,不变形),因为两个值都是500px,所以宽和高中数值大的会是500

#+profile '*' :   去掉元数据信息,缩略图不需要保存这些内容

#-quality 90 :   指定图片的品质,品质越高,占用的空间越大,最大值是100

#                    一般从85-90肉眼看不出和100的差别,但文件大小可以缩小更多

[root@blog ~]# convert -resize 500x500 +profile '*' -quality 90 206.jpg 206tmb.jpg

[root@blog ~]# file 206tmb.jpg
206tmb.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 500x313, frames 3

[root@blog ~]# ll -h 206tmb.jpg
-rw-r--r-- 1 root root 26K Apr 28 18:34 206tmb.jpg

 

4,生成webp缩略图

[root@blog ~]# convert -resize 500x500 +profile '*' -quality 90 206.jpg 206tmb.webp

[root@blog ~]# file 206tmb.webp
206tmb.webp: RIFF (little-endian) data, Web/P image, VP8 encoding, 500x313, Scaling: [none]x[none], YUV color, decoders should clamp

[root@blog ~]# ll -h 206tmb.webp
-rw-r--r-- 1 root root 15K Apr 28 18:34 206tmb.webp

 

5,从浏览器查看效果

看截图:

jpg格式

 

webp格式

 

 

5,结论:webp的图片质量和jpg相比,肉眼看不出差别,

但文件缩小了40%左右,值得使用

 

六,imagemagick相关知识:

1,imagemagick的profile:记录图片一些描述信息。例如相机信息(光圈,相机型号)、photoshop元数据,颜色表等信息

    说明:图片的描述信息有些情况下会数据量比较大,

    包括: exif : 相机在拍照过程记录到照片中的光圈\厂商\型号\分辨率\拍摄时间等信息

            iptc:IPTC元数据就是一种标准格式,它把元数据加入照片信息中,包括:作者,版权,字幕,细节描述等

            photoshop metadata: photoshop写入到图片中的元数据,格式是xml

            photoshop称之为XMP 元数据

 

 七,查看centos版本:

[root@blog ~]$ cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core) 

 

posted @ 2020-04-30 11:00  刘宏缔的架构森林  阅读(2115)  评论(0编辑  收藏  举报