Как я могу рисовать с моим текущим размером кисти в gimp python-fu?

Я пишу скрипт GIMP python-fu, который, по сути, просто рисует черный круг на текущем слое, заполняя слой. У меня проблема в том, что gimp_pencil() продолжает использовать размер кисти по умолчанию даже после того, как gimp_context_set_brush_size() устанавливает активный размер кисти равным размеру изображения (когда я запускаю скрипт из GIMP, ползунок размера кисти меняется на ширина слоя, но сделанная метка остается по умолчанию 50x50) Вот мой код:

def Circle(image, tdrawable):
    layer  = image.active_layer
    width  = tdrawable.width
    height = tdrawable.height
    pdb.gimp_context_set_brush_size(width)
    pdb.gimp_pencil(layer,2,(width/2,height/2))

Что я делаю неправильно?


person Brendan    schedule 19.07.2015    source источник
comment
Не могли бы вы добавить свою версию GIMP?   -  person jsbueno    schedule 20.07.2015
comment
Это работает в GIMP git master.   -  person jsbueno    schedule 20.07.2015


Ответы (1)


Видно, что это работает в текущей разрабатываемой версии GIMP (скомпилированной из GIT master) - если вы используете это поведение в последней стабильной версии GIMP (2.8.14), вы столкнулись с ошибкой программы.

Тем не менее, это хакерский способ рисования круга, даже если он работает (хорошо, если вы хотите использовать его для других кистей, а не для круглых) - но для кругов вместо этого вы должны: 1) Сделать выделение эллипса по центру центр изображения и с радиусом min(width, layer)/2 2) Залейте выделение.

person jsbueno    schedule 20.07.2015
comment
Вроде получилось, спасибо! Вероятно, я слишком долго ломал голову над этим, думая, что это то, что я сделал. И да, я планирую использовать другие кисти, кроме кругов, для генеративного искусства. - person Brendan; 20.07.2015