Linux下convert批处理的命令及其与Windows下nconvert的区别与联系
linux下可以利用convert命令来直接进行图像的批处理,而windows下只能借助nconvert.exe软件(下载链接: link.)来进行相应的操作,但是两者具体的命令格式存在显著差别。下面将逐条对应说明。(xxx均为处理前图像的名字,xxx1均为处理后图像的名字,加粗的字体均为只在该环境下可实现的命令)
图像格式转换
convert xxx.png xxx.jpg 将png转成jpg文件
nconvert -out jpeg -truecolors xxx.png 将png转成jpg文件
nconvert.exe -out jpeg -truecolors xxx.png 也可(即带不带.exe后缀并无影响)
nconvert -D -out jpeg -truecolors xxx.bmp 转换后删除源文件(在nconvert的其他命令中-D可以起到同样的效果
nconvert -out jpeg -truecolors 星号.png(键盘8上边的,此处无法打出) 可以将当前目录下所有的png转成jpg文件(在nconvert的其他命令中星号可以起到同样的效果),Linux中想要进行批处理可以写利用shell脚本中的for循环
改变图像的大小
convert -resize 1500x500 xxx.jpg xxx1.jpg 将图像的像素改为1500x500,注意1500与500之间是小写字母x
convert -resize 50%x50% xxx.jpg xxx1.jpg 将图像的缩减为原来的50%x50%
nconvert -resize 1500 500 xxx.jpg 将图像的像素改为1500x500,自动命名为xxx_1.jpg
nconvert -resize 50% 50% xxx.jpg 将图像的缩减为原来的50%x50%
图像的旋转与翻转
convert -rotate 270 xxx.jpg xxx1.jpg 将图像顺时针旋转270度
nconvert -rotate 270 xxx.jpg 将图像顺时针旋转270度
nconvert -xflip xxx.jpg 将图像垂直翻转
nconvert -yflip xxx.jpg 将图像水平翻转
图像的剪切与拼接
convert -crop 500x500 xxx.png xxx1.png 将图像剪切为指定的像素大小,名称为xxx1-n,n是总的像素大小除以给定的像素大小
nconvert -crop 0 0 500 500 xxx.jpg 前两个数字是坐标,后两个数字是像素大小
convert +append xxx.png xxx1.png xxx2.png 将图像xxx.png和xxx1.png从左到右无缝拼接起来,名称为xxx2.png
convert -append xxx.png xxx1.png xxx2.png 将图像xxx.png和xxx1.png从上到下无缝拼接起来,名称为xxx2.png
画布和水印
nconvert -canvas 200% 200% center xxx.jpg 调整画布大小和位置
nconvert -canvas 200% 200% center -bgcolor 255 255 225 xxx.jpg 调整画布大小和位置,画布背景为白色(不给颜色的话,默认是黑色)
nconvert -wmpos 100 200 -wmflag center -wmopacity 30 -wmfile xxx.jpg xxx1.jpg 将xxx.jpg作为水印添加到xxx1.jpg,并设置透明度为30
-wmfile file 作为水印的文件 -wmpos x y 水印位置 -wmflag flag 水印位置 -wmopacity value 水印透明度(0-100)