使用 ImageMagick 处理 9-Patch 图像

Posted

技术标签:

【中文标题】使用 ImageMagick 处理 9-Patch 图像【英文标题】:Process 9-Patch Image with ImageMagick 【发布时间】:2016-02-02 11:39:05 【问题描述】:

如何?

为了简化,我需要对从左上角(1, 1) 到右下角(width - 2, height - 2) 结束的矩形应用任何 ImageMagick 操作。该操作不得触及图像的 1 像素边框。

例如,我想替换上述矩形中的颜色。我该怎么做?

【问题讨论】:

可能类似于-region +1+1 -gravity SouthEast -region -1-1 ... -region 应该可以工作,但像 -crop 你需要一个大小和偏移量,所以它会像 -region 100x200+1+1 -colorspace gray 【参考方案1】:

有几种方法可以做到这一点。这有点取决于你想在中间做什么:-)

一种方法,是克隆图像,并一直剃掉一个 1 像素的边框,对 “稍微小一点”的图像进行操作,然后将结果合成回原始图像.

convert -gravity center image.png                   \
  \( +clone -shave 1x1 -fill blue -colorize 100% \) \
  -composite result.png

所以,我从一个红色矩形开始,复制并剃须,用蓝色填充,然后粘贴。

【讨论】:

这行得通。谢谢! (虽然有点慢。)

以上是关于使用 ImageMagick 处理 9-Patch 图像的主要内容,如果未能解决你的问题,请参考以下文章