centos中ImageMagick命令安裝與使用方法

來源:互聯網
上載者:User

先來介紹一下 ImageMagick。

ImageMagick(簡稱 IM)是一個支援 GPL 協議的開源免費軟體包。
它由一組命令列工具組成的。
它可以對超過 100 種的映像格式(包括 DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, 和 TIFF等等),進行讀、寫、編輯和轉換的操作。
它支援多數主流作業系統,其中包括 UNIX、Mac OS X 和 Windows。

IM 的首頁是 http://www.imagemagick.org/ 。你可以在那裡下載它的原始碼或可執行檔。
一般人可以直接下載它的 Windows 發行版。地址是:http://www.imagemagick.org/script/binary-releases.php#windows 。

有 6 種格式可供選擇,如果你不清楚自己要什麼,我建議你下載 Q16 的 static 版。

先來看看 ImageMagick 能做些什麼:

1、批量旋轉、分割,並順序編號

2、自動批量切除白邊(auto-crop)


安裝Imagemagick

首先要安裝Imagemagick

CentOS上安裝

yum install ImageMagick -y

Debian上安裝

apt-get install ImageMagick -y

3、自動調整校正(deskew)

4、批量加標註

5、批量去標註

6、批量加浮水印

7、批量去浮水印

 

Imagemagick批量壓縮圖片形成縮圖

首先得安裝ImageMagick,linux中批量縮小圖片的這個工具超級強大


批量縮放圖片到指定尺寸的命令:

for img in `ls *.jpg` ; do  convert -sample 25%x25% $img thumb-$img ; done
#這個命令是批量縮小25%
可以只指定寬度或者高度等比縮放
例如只指定寬度等比縮放的命令:

# for img in `ls *.jpg` ; do  convert -sample 200 $img thumb-$img ; done
或者只指定高度等比縮放:

# for img in `ls *.jpg` ; do  convert -sample x200 $img thumb-$img ; done
為目前的目錄的所有映像產生縮圖

for img in `ls*.jpg` do convert -sample 25%x25% $img thumb-$img done
批量縮小根目錄檔案夾中的圖片, 如果寬度大於900px就縮小,否則不動:

for img in `ls */*.jpg` ; do convert -resize "900 >" $img $img ; done

註: -resize 是縮小,-sample 是壓縮
注意:為保險起見,壓縮圖片前可以先拷貝備份一下,安然再壓縮就可以了: 例如

cp -rf upload/* upload2/


Imagemagick 批量縮小圖片並打浮水印

IM 有好幾種縮放映像的方法,在這裡我只講最基本的 resize 命令。

批處理指令碼

#!/bin/bash
for each in /要處理的圖片檔案夾/*{.jpg,.gif}
do
s=`du -k $each | awk '{print $1}'`
if [ $s -gt 10 ]; then
convert -quality 80 -resize 600x800 $each $each
composite -gravity southeast -dissolve 80 /浮水印檔案夾/mark.jpg $each $each 2>/dev/null
echo "$each: done!"
fi
done
exit 0

本指令碼產生的新圖片會覆蓋原來的

convert -quality 80 -resize 600x800 $each $each
這個是進行圖片縮小的 -quality 80代表圖片品質,600x800是圖片的大小600寬X800高,全部產生的圖片大小都在600X800範圍內。

composite -gravity southeast -dissolve 80 /浮水印檔案夾/mark.jpg $each $each 2>/dev/null
這句是加圖片浮水印的,文字浮水印的沒寫.-gravity southeast這個決定圖片浮水印的位置south就是南east就是東也就是圖片的右下角-dissolve 80這個是設定浮水印的透明度的.越小越透明.

$s -gt 10
這個是忽略小於10K的檔案.防止給縮圖加上浮水印.

如果你儲存的指令碼名為water.sh 執行指令碼

sh ./water.sh

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.