使用imagemagick,我想清理图像的左侧,即在没有裁剪的情况下制作白色。例如,清洁25像素宽的最左侧垂直条带。我想出了如何裁剪到给定的几何体,但我无法弄清楚如何在不裁剪的情况下进行清理。
答案 0 :(得分:2)
这是我的开始图片,如下所示:
convert -size 256x256 gradient:cyan-yellow image.png
一种方法是使用-fx
并设置x坐标小于25到1.0(即白色)的所有像素,并保留所有其他像素:
convert image.png -fx "i<25?1:u" result.png
另一种更快捷的方法可能是克隆原始图像,然后将其缩小到25像素宽,用原始图像填充白色和复合图像:
convert image.png \
\( +clone -scale 25x! -fill white -colorize 100 \) \
-composite result.png
结果是一样的。
第三种方法可能是从左侧裁剪25像素的图像,然后在左侧拼接25个白色像素:
convert image.png -crop +25+0 -background white -gravity west -splice 25x result.png
有点像kludge,但更接近你的要求。在这里,我猜你的图像高度不超过10,000像素并绘制一个矩形:
convert image.png -fill white -draw "rectangle 0,0 24,9999" result.png
我想正确的方法是首先获得高度然后使用它:
#!/bin/bash
h=$(convert image.png -format "%[fx:h-1]" info:)
convert image.png -fill white -draw "rectangle 0,0 24,$h" result.png