2017-02-17 44 views
0

Мне нужно сжать выделение в моем сценарии GIMP.Как сжать выбор с двух сторон в сценарии GIMP?

Команда выбора сокращений по умолчанию сокращает весь выбор по заданному значению размера в пикселях.

(gimp-selection-shrink inImage 2) 

Это уменьшит выбор на 2 пикселя.

Но я не хочу сжимать весь выбор. Я просто хочу удалить выделение с левой и правой сторон, сохраняя неизменную вертикальную выборку.

Это требует удаления самых удаленных пикселей с каждой стороны (влево и вправо) из маски выбора.

Как я могу это сделать?


Script желаемый эффект для значения «3px»:

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

Как вы можете видеть, это довольно прямоугольный на левой и правой стороне, и это необходимо для пользователей, чтобы сделать выбор, как это.

Итак, я думаю, что хороший подход состоял бы в том, чтобы получить левую и правую posX маски выбора и вырезать прямоугольник с высотой слоя и шириной пикселей, которые мы хотим отрезать с каждой стороны маски выделения.

Я бы хотел использовать Script-Fu вместо Python-Fu, потому что мне не нравятся дополнительные требования для пользователей.

+0

Как вы имеете дело с «углами»? И вы можете показать пример изображения? – xenoid

+0

Я добавил пример gif;) Надеюсь, теперь это яснее. – JasonSpine

ответ

1
  • Сохраните ваш выбор
  • Получить ограничивающий прямоугольник (gimp-selection-bounds)
  • термоусадочную что коробка (+ 2px к Xmin, -4px по ширине)
  • Создайте прямоугольное выделение из этих новых значений
  • Пересечение с сохраненным выбором

 Смежные вопросы

  • Нет связанных вопросов^_^