1、下載
參考教程:
https://www.w3cschool.cn/imagemagick_use/
https://www.zouyesheng.com/imagemagick.html
https://www.cnblogs.com/lfri/p/11601211.html
下載鏈接:
https://imagemagick.org/archive/binaries/
安裝目錄下的 www/index.html 有功能介紹,magick可以通過dos指令來對圖片進行處理及批處理。
imdisplay.exe用于界面操作,magick.exe用于命令行操作;
magick --version查看是否安裝成功.
2、格式轉(zhuǎn)換
magick convert bluebells_clipped.jpg color-thresholding.jpg aaa.pdf
將 2個.jpg 按照順序合并為 aaa.pdf
magick convert input.jpg output.png
magick convert input.jpg output.bmp
支持JPG, BMP, PCX, GIF, PNG, TIFF, XPM和XWD等類型
for /f "delims=" %f in ('dir /s /b *.jpg') do (magick convert "%f" "%~nf.png")
將目錄下的所有.jpg文件轉(zhuǎn)換為.png文件;
magick mogrify -format png *.jpg
把目錄下面所有的jpg文件,生成新的png格式;
3、旋轉(zhuǎn)
magick convert -rotate 90 a.jpg 90.jpg
magick convert -rotate 180 a.jpg 180.jpg
magick convert -rotate 270 a.jpg 270.jpg
for /f "delims=" %f in ('dir /s /b *.png') do (magick convert "%f" -rotate 90 "%~nf_90.png")
將某目錄下所有PNG圖像旋轉(zhuǎn)90度;
4、翻轉(zhuǎn)
magick convert -flip input.jpg out.jpg
上下翻轉(zhuǎn)
magick convert -flop input.jpg out.jpg
左右翻轉(zhuǎn)
5、視覺處理
magick convert -negate input.jpg out.jpg
變色
magick convert -monochrome input.jpg out.jpg
變成黑白色
magick convert -noise 3 input.jpg out.jpg
加噪聲,變模糊了。
magick convert -paint 4 input.jpg out.jpg
變成一張油畫,效果非常的逼真
magick convert -charcoal 2 input.jpg out.jpg
變成黑白鉛筆畫效果
magick convert -spread 30 input.jpg out.jpg
散射毛玻璃效果,很模糊
magick convert -swirl 67 input.jpg out.jpg
漩渦效果
6、壓縮圖片
magick convert -resize 100 1.jpg 2.jpg
把1.jpg壓縮為2.jpg,得到圖片寬為100,高根據(jù)原始圖片比例計算而來;
magick convert -sample 50%x50% xxx.jpg xxx1.jpg
將圖像的縮減為原來的50%*50%
for /f "delims=" %i in ('dir /b /a-d') do (magick convert -resize 200 %i %i)
讀取當(dāng)前目錄下(含子文件夾)所有文件,對讀取的文件執(zhí)行壓縮為寬為200,比例不變的命令。
注:以上代碼在命令行執(zhí)行,批處理執(zhí)行需要將%i改成%%i。
for /f "delims=" %f in ('dir /s /b *.png') do (magick convert "%f" -sample 80x40 "%~nf_sample.png")
批量生成某目錄下所有PNG圖像文件的縮略圖(大小為80×40):
7、合并2張圖片
magick convert -append 1.jpg 2.jpg 3.jpg
豎直方向合并前兩張圖片 輸出3.jpg;
+append橫向拼湊,-append縱向拼湊;
8、截取圖片
magick convert 1.jpg -crop 200x210+10+10 1_1.jpg
從1.jpg的(10,10)為起點,截取寬200像素,長210像素的的區(qū)域為1_1.jpg
9、圖片上加文字
magick mogrify -pointsize 48 -fill red -weight bolder -annotate +50+100 "hello" 3.png
在3.png的(50,100)處加上大小為48的、紅色的文字“hello”
-fill blue
-fill “#ddddff”
-fill “rgb(255,255,255)”
對中文不支持,加不上去:
magick mogrify -font "Arial" -pointsize 48 -fill red -weight bolder -annotate +50+150 "你好" 3.png
magick mogrify -font "Arial" -pointsize 48 -fill blue -weight bolder -annotate +50+150 "word" 3.png
magick -list font 查看支持的字體
中文可能是需要安裝Ghostscript支持
https://www.ghostscript.com/releases/gsdnld.html
10、在圖片上加水印
magick composite -gravity center small.gif front.jpg rose: out.jpg
magick composite -gravity southeast small.gif front.jpg rose: out.jpg
11、描述圖片的格式和特性
magick identify 1.jpg
可以顯示出像素、字節(jié)數(shù)、圖片類型,修改后綴名之后可以查看類型。
12、加邊框
magick convert -raise 10x10 input.jpg output10.jpg
magick convert +raise 10x10 input.jpg output.jpg
用-,+邊緣顏色的來達到處理邊緣的效果
+是凹下去的邊;
magick convert -bordercolor red -border 5x5 input.jpg output.jpg
加上5個像素寬的紅邊!
magick convert -mattecolor "#000000" -frame 60x60 input.jpg rememberyou.png
加上60個像素寬的黑邊!
13、模糊
magick convert -blur 80 input.jpg out.png
magick convert -blur 80x5 input.jpg out2.png
magick convert -crop 100x100+0+0 -resize 50x50 -colors 100 +profile "*" input.jpg out.png
把input.jpg先從左上角(0,0)為起點裁剪一塊100x100的部分,
然后把這部分縮小到50x50,然后把顏色縮減到100色,最后生成out.png。
-crop 寬x高+起點橫坐標(biāo)+起點縱坐標(biāo):裁剪圖
-resize 寬x高!:改變尺寸;如果使用驚嘆號,表示不保留視覺比例,
14、動畫
magick convert -delay 100 *.png out.gif
=>以1秒的幀間隔將所有png合成gif動畫
magick convert 1.gif sub%d.png
=>將gif的各幀拆開成sub0.jpg/sub1.jpg等單獨圖片
合并成gif再拆分,發(fā)現(xiàn)字節(jié)數(shù)不同了。