我有以下图片:
test PNG 1366x655 1366x655+0+0 8-bit sRGB 286KB 0.000u 0:00.000
我需要从图像的边框切下它:
top: 140 px
bottom: 140 px
left: 180 px
right: 60 px
是否有单行命令行用convert
执行此操作?
答案 0 :(得分:3)
您可以合并两个-crop
s:
#left,top right,bottom
convert test.png -crop +180+140 -crop -60-140 cropped.png
答案 1 :(得分:2)
使用V7的另一种方法
magick输入-crop"%[fx:w-(180 + 60)]" x"%[fx:h-(140 + 140)]" +180+ 140 结果
答案 2 :(得分:1)
来自that other guy
的解决方案非常聪明。标准方法是使用-chop。但这意味着4次调用,因为要删除的大小没有对称性。所以在ImageMagick中使用-chop,你可以做到
convert text.png -gravity north -chop 0x180 -gravity east -chop 60x0 -gravity south -chop 0x140 -gravity west -chop 140x0 cropped.png
请参阅http://www.imagemagick.org/Usage/crop/#chop
当左/右或上/下或全部存在对称时,请参见-shave。 http://www.imagemagick.org/Usage/crop/#shave
答案 3 :(得分:1)
基于Bonzo的解决方案,你可以使用视口裁剪(Unix语法)在ImageMagick 6中做类似的事情:
top=140
bottom=140
left=180
right=60
convert image.png -set option:distort:viewport "%[fx:w-$left-$right]x%[fx:h-$top-$bottom]+${left}+${top}" -filter point +distort SRT 0 +repage result.png