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、格式转换
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文件转换为.png文件;
magick mogrify -format png *.jpg
把目录下面所有的jpg文件,生成新的png格式;
3、旋转
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图像旋转90度;
4、翻转
magick convert -flip input.jpg out.jpg
上下翻转
magick convert -flop input.jpg out.jpg
左右翻转
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,高根据原始图片比例计算而来;
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)
读取当前目录下(含子文件夹)所有文件,对读取的文件执行压缩为宽为200,比例不变的命令。
注:以上代码在命令行执行,批处理执行需要将%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像素的的区域为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
可以显示出像素、字节数、图片类型,修改后缀名之后可以查看类型。
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高+起点横坐标+起点纵坐标:裁剪图
-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再拆分,发现字节数不同了。
网友评论