centos8上安裝ImageMagick6.9.10並壓縮圖片生成webp縮略圖


一,ImageMagick的作用:

ImageMagick 是一個用來創建、編輯、合成圖片的軟件。

它可以讀取、轉換、寫入多種格式的圖片。

功能包括:圖片切割、顏色替換、各種效果的應用,

圖片的旋轉、鏡像、寫入文字到圖片等。

 

說明:劉宏締的架構森林是一個專注架構的博客,地址:https://www.cnblogs.com/architectforest

         對應的源碼可以訪問這里獲取: 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) 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM