使用 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 图像的主要内容,如果未能解决你的问题,请参考以下文章

Android:在 MapView 上为 ItemizedOverlay 使用 9-patch 和文本

imagemagick 图片处理相关问题?

imagemagick图片处理命令

2.6Android Studio创建可伸缩的图片(9-patch文件)

android中9-patch图片的使用

如何使用 ImageMagick 在 Windows 批处理文件中捕获图像比较结果