精品軟體與實用教程
一,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://uzbox.com/wp-content/uploads/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 350, frames 350, frames 305
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 313, frames 313, frames 313, frames 313, frames 313, frames 313, frames 313, frames 313, frames 313, frames 313, frames 313, frames 313, frames 313, frames 313, frames 313, frames 313, frames 313, frames 313,
[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