Gimp python-fu: выбор двух слоев - PullRequest
0 голосов
/ 02 мая 2018

Я хотел бы создать сценарий python-fu для gimp, где пользователь мог бы выбрать два слоя.

register(
(....)
    [
    (PF_IMAGE, "image", "Input image", None),
    (PF_DRAWABLE, "layermask", "MASK:", None),
    (PF_LAYER, "drawinglayer", "DRAWING:", None),
    (PF_INT, "treshold", "TRESHOLD:", 1)
    ],
(...)

всякий раз, когда я пытаюсь это сделать, моя форма содержит только один выбор (я полагаю, он использует слой по умолчанию?) enter image description here.

Как я могу получить два «избранных» элемента управления? Я пытался изменить PF_DRAWABLE на PF_LAYER, но все равно получаю тот же результат.

1 Ответ

0 голосов
/ 03 мая 2018

Вы выбираете два слоя, но один не появляется в автоматически сгенерированном диалоговом окне, поскольку предполагается, что он является активным слоем (*): аргумент PF_DRAWABLE после PF_IMAGE неявно является текущим активным слоем (или активным каналом). ) когда скрипт / плагин вызывается.

Другими словами, ваш скрипт не работает с двумя случайными слоями, но с активным слоем и другим случайным слоем (что обычно является хорошей идеей с точки зрения пользовательского интерфейса, особенно если ваш сценарий изменяет только один из двух).

(*) В некоторых случаях (Filters> Reshow ...) автоматически сгенерированное диалоговое окно может отображать селектор для этого слоя и отображать два ожидаемых селектора слоя.

...