如何从GIMP脚本中缩小选择范围?

问题描述:

我需要在我的GIMP脚本中缩小选择范围。如何从GIMP脚本中缩小选择范围?

默认缩小选择命令会缩小整个选区的大小,以像素为单位。

(gimp-selection-shrink inImage 2) 

这会将选择缩小2个像素。

但我不想缩小整个选择。我只想从左侧和右侧删除选区,保持垂直选区不变。

这需要从选择蒙版移除每边(左侧和右侧)最远的像素。

我该怎么做?


的价值“的3px”脚本预期的效果:

https://media.giphy.com/media/l3q2v50vsk8Ze8Ldu/source.gif

正如你可以看到,它的左侧和右侧相当长方形,它要求用户做出选择这样的。

所以我认为一个好的方法是获得选择蒙版的左右posX,并在选择蒙版的每一面上切割我们想要切掉的图层高度和像素宽度的矩形。

我想用Script-Fu代替Python-Fu,因为我不喜欢对用户有额外的要求。

+0

如何处理“角落”?你能展示一个示例图片吗? – xenoid

+0

我已经添加了示例gif;)我希望它现在更清晰。 – JasonSpine

  • 保存您的选择
  • 获取边界框(gimp-selection-bounds
  • 收缩那个盒子(+ 2px的,以Xmin时,-4px与宽度)
  • 从这些新的值创建一个矩形选择
  • 与保存的选择相交