Как создавать линии с Афинами?
Я понятия не имею, как создавать линии с Афинами. Я взглянул на документы в Каире, но не понимаю, как Афины связаны с Каиром.
http://zetcode.com/gfx/cairo/basicdrawing/
В приведенной выше ссылке я не могу найти эквивалента для cairo_set_line_width(cr, 1); Я пытался заглянуть внутрь Афин, но нигде не было найдено. В целом я нахожу афинскую архитектуру довольно запутанной, хотя Каир выглядит просто. Есть идеи, как заставить это работать?
1 ответ
Решение
В Афинах нет отдельных команд canvas, представляющих действие "нарисовать одну линию". Вместо этого нужно сгенерировать путь, представляющий строку:
surface drawDuring: [:canvas | | linePath |
linePath := canvas createPath: [:builder |
builder
absolute;
moveTo: lineStartPoint;
lineTo: lineEndPoint
].
stroke := canvas setStrokePaint: Color red.
stroke width: 10.
canvas drawShape: linePath.
].
Вы можете взглянуть на Athens-Tutorial, где различные аспекты создания контуров, использования рисования штрихов и заливки форм объясняются в примерах.