Как создавать линии с Афинами?

Я понятия не имею, как создавать линии с Афинами. Я взглянул на документы в Каире, но не понимаю, как Афины связаны с Каиром.

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, где различные аспекты создания контуров, использования рисования штрихов и заливки форм объясняются в примерах.

Другие вопросы по тегам