Не удается найти функцию gimp.xxx () или pdb.gimp_xxx () для> применения <градиентной заливки - PullRequest
1 голос
/ 21 сентября 2019

Не удается найти функцию Python (либо gimp.xxxx (), либо pdb.gimp_xxxxx ()), которая на самом деле ПРИМЕНИТ градиент, выбранный в качестве текущего, либо с

    gimp.gradients_set_active(<gradientName>)  (which seems to have disappeared) or

    pdb.gimp_context_set_gradient(<gradientName>)

Я, кажется, провел целую вечность, просматриваяweb, а значит, и процедурную базу данных gimp, чтобы найти что-то, что фактически ЗАПОЛНИТЕ LAYER / drawable / selection с помощью GRADIENT вдоль PATH, но безуспешно.

функции заполнения pdb имеют опцию для заполнения шаблона, нонет градиента и нет траектории хода.функции обводки pdb только применяют текущий передний план вдоль пути.

все в сети - о> создании <градиента - но у меня есть градиенты - просто нет способа применить / заполнить / обвести их изскрипт. </p>

код: СМ. выше

Ответы [ 2 ]

0 голосов
/ 22 сентября 2019

Чтобы заполнить слой градиентом, правильная функция: pdb.gimp_drawable_edit_gradient_fill().

Чтобы использовать градиент вдоль пути, используйте pdb.gimp_paintbrush(), где последний аргумент - это длина "исчезновения".Конечно, этот вызов принимает последовательность прямых сегментов, а не путь, но вы можете преобразовать обводку в последовательность сегментов, используя pdb.gimp_vectors_stroke_interpolate().

0 голосов
/ 22 сентября 2019

Похоже, что gimp_edit_blend () - это функция pdb для фактического заполнения рисованного градиентом.

Градиент контекста должен быть установлен заранее (как в вопросе).И, похоже, что параметр blend_mode (второй параметр) должен быть равен 3 (т.е. CUSTOM-MODE) ->

    pdb.gimp_edit_blend(drawable, blend_mode, ...)
...