Создание фигур в Script-Fu требует абстракции, объединяющей контур, цвет, кисть и тип отрисовки (контур, заливка, карандаш). Для этого используется структура
Отображение фигуры на изображении включает преобразование контура, создание массива точек и отрисовку с учетом типа фигуры. Функции
Составные фигуры используют список простых фигур. Функция
Функция
fig
, включающая имя, тип, цвет, кисть, контур и габариты. Функции make-brush-fig
, make-shape-fig
и make-pencil-fig
создают фигуры с разными типами отрисовки. Изображение носит иллюстративный характер
Отображение фигуры на изображении включает преобразование контура, создание массива точек и отрисовку с учетом типа фигуры. Функции
make-contour-vector
и draw-fig
отвечают за это. Для 2.10 и 2.6 GIMP требуется загрузка библиотек, включая util.scm
, defun.scm
, struct.scm
, point.scm
, tr2d.scm
, contour.scm
, img.scm
, rect.scm
, vect.scm
, brush.scm
, fig.scm
, img2.6.scm
, brush-2.6.scm
, fig2.6.scm
. Тест с кругами и преобразованиями демонстрирует отрисовку фигур. Составные фигуры используют список простых фигур. Функция
draw-figs
отображает этот список с учётом рамки, автоматически рассчитывая трансформацию. Рамка обеспечивает масштабирование и позиционирование относительно заданных границ. Функции min-pos-figs
и max-pos-figs
вычисляют габариты всех фигур для вычисления трансформации. Тест со звездой и рамками показывает работу составных фигур. Функция
make-arrow1
создает контур стрелки, исходя из точки назначения. Составная фигура из прямоугольника и стрелки демонстрирует использование этой функции. Различные рамки при отрисовке составной фигуры демонстрируют возможности масштабирования и позиционирования. Созданная абстракция позволяет строить фигуры, использующие контуры, цвет и кисти.