2015-07-19 7 views
1

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

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)) 

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

+0

Не могли бы вы добавить свою версию GIMP? – jsbueno

+0

Это сидит для работы в GIMP git master. – jsbueno

ответ

1

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

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

+0

Это похоже на это, спасибо! Вероятно, я немного наклонил голову над этим, думая, что это то, что я сделал. И да, я планирую использовать другие кисти помимо кругов, чтобы сделать какое-то генеративное искусство. – Brendan