2016-02-16 5 views
2

Я хотел бы наложить текст на фигуры из Compose.jl. Например, предположим, что я хочу, чтобы наложить метку на центре этой формы:Добавить текст в Compose.jl Shapes

using Compose 

compose(
context(), fill(LCHab(78, 84, 29)), 
(context(0.2, 0.5, 0.5, 0.2), rectangle(), fill("green")), 
(context(0.0, 0.6, 0.5, 0.2), rectangle(), fill(LCHab(68, 74, 192)))) 

Как наложить текст на эти объекты?

Благодаря

ответ

2

Вот фрагмент кода, который накладывается текст на некоторых формах:

compose(
context(), fill("black"), 
(context(0.2, 0.5), text(0.2, 0.1,"eeee", Compose.hcenter, Compose.vcenter)), 
(context(0.2, 0.5, 0.4, 0.2), rectangle(), fill("green")), 
(context(0.0, 0.6), text(0.25, 0.1, "aaaaaaaaaaabbbbbbbbbbbbcccccccc", Compose.hcenter, Compose.vcenter)), 
(context(0.0, 0.6, 0.5, 0.2), rectangle(), fill("red")) 
) 

Код производит следующий вывод:

text superimposed on figures

Две первые аргументы text() - это позиция текста в связи с текущим контекстом.

Compose.hcenter и Compose.vcenter являются необязательными, они устанавливают горизонтальное и вертикальное выравнивание текста. В предназначены для выравнивания опции:

  • vleft
  • vcenter
  • vright
  • htop
  • hcenter
  • hbottom

К сожалению, я не нашел документацию для функции text() для ссылки, только ее определение, которое можно найти here на github.

+0

'LCHab()' вызвал ошибку для меня, поэтому я заменил ее на строковые цвета. – jarmokivekas