批量剪切不同宽高比的底部水印

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
opp
帖子: 622
注册时间: 2008-03-30 11:42
联系:

批量剪切不同宽高比的底部水印

#1

帖子 opp » 2012-06-17 16:08

在网站上下载了好多张MM套图,每张图的底部大概有20个像素被加了水印,纯黑的,看着不爽。第一想到的就是ImageMagick里面的convert“神器”。图形下打开第一张图看一下,分辨率是1600x2400的,可又不是所有的图都是固定这个像素。当MM站立时的图像是1600x2400,坐在地上或半躺的时候宽与高正好相反变成了2400x1600了,也就是竖着的变成了横着的。只有一张一张地去获得具体像素了。获得图片的宽高像素也很容易,有identify这个命令。最终有了底下这个命令:

代码: 全选

for i in *jpg;do convert -crop `identify -format "%w" $i`x`echo $(($(identify -format "%h" $i)-20))`+0+0 $i M$i;done
把当前目录下的所有jpg文件的底部20像素就给去除了,写得可能有点糙,我知道这儿用ImageMagick的朋友有不少,希望各位给予指点。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 批量剪切不同宽高比的底部水印

#2

帖子 eexpress » 2012-06-17 21:14

都裁20啊。蛮好。
● 鸣学
头像
opp
帖子: 622
注册时间: 2008-03-30 11:42
联系:

Re: 批量剪切不同宽高比的底部水印

#3

帖子 opp » 2012-06-17 21:39

eexpress 写了:都裁20啊。蛮好。
每张图片的最下面是一个很窄的黑条,差不多是20像素,所以就都截去了最底下的20,发现crop参数的负数不支持从下面减的方式,只有从右边减或者从上面减指定的像素,所以写了上面比较糙的命令,大神来了就给指定指点呗。
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 批量剪切不同宽高比的底部水印

#4

帖子 aerofox » 2012-06-18 12:16

代码: 全选

for i in *jpg;do convert -gravity South -chop 0x20 $i M$i;done
头像
opp
帖子: 622
注册时间: 2008-03-30 11:42
联系:

Re: 批量剪切不同宽高比的底部水印

#5

帖子 opp » 2012-06-18 21:20

aerofox 写了:

代码: 全选

for i in *jpg;do convert -gravity South -chop 0x20 $i M$i;done
谢谢,太浮躁了,没有认真看看各参数的含义。谢谢指教,非常感谢! :em06
回复