将图像水平分成两个不相等的部分?

split image horizontally into two unequal parts?

我有以下图片:

我想使用 ImageMagick 将其水平拆分为 40-60% (L-R) 的两个不相等的部分。我该怎么做?

您可以在ImageMagick 6 中执行以下操作。将图像读入MPR 内存并删除原始图像。然后使用 MPR 副本以重力向西裁剪 40% 并以重力向东再次裁剪 60%(即从左侧裁剪 40%,然后从右侧裁剪 60%)。写入这些图像然后退出,没有输出,即 null:

Unix 语法:

convert red_rect.png +repage -write mpr:img +delete \
\( mpr:img -gravity west -crop 40x100%+0+0 +repage +write left.png \) \
\( mpr:img -gravity east -crop 60x100%+0+0 +repage +write right.png \) \
null:

对于Windows,

convert red_rect.png +repage -write mpr:img +delete ^
( mpr:img -gravity west -crop 40x100%+0+0 +repage +write left.png ) ^
( mpr:img -gravity east -crop 60x100%+0+0 +repage +write right.png ) ^
null:

(在.bat文件中,将%加倍为%%)

(对于 ImageMagick 7,更改转换为 magick)

左:

右:

纯属娱乐,版本略有不同:

  • 加载图片
  • 制作克隆,裁剪左侧并保存,删除克隆
  • 恢复原样,裁剪右侧并保存

magick GhLiu.png +repage \( +clone -crop 40x100%+0+0 +repage +write left.png +delete \) -gravity east -crop 60x100%+0+0 +repage right.png