Положение PointText в центре холста

Мне нужно это:

var text = new PointText({
    point: [50, 50],
    content: 'Text',
    fillColor: 'black',
    fontFamily: 'Courier New',
    fontWeight: 'bold',
    fontSize: 25
});

быть в центре (х + у) на моем холсте.

В холсте нет ничего особенного.

2 ответа

Решение

view объект хранит center свойство, которое представляет его центр. Итак, если вы сделаете это:

var text = new PointText({
  position: view.center,
  content: 'Text',
  fillColor: 'black',
  fontFamily: 'Courier New',
  fontWeight: 'bold',
  fontSize: 25
});

Он будет расположен в центре вашего холста.

Вот и эскиз.

Если вы ищете более точное позиционирование, рассмотрите возможность центрирования текста с помощью justification: 'center' и добавление небольшого вертикального смещения, пропорционального размеру шрифта.

var text = new PointText({
    position: view.center + [0,5],
    justification: 'center',
    content: 'Text',
    fillColor: 'blue',
    fontFamily: 'Courier New',
    fontWeight: 'bold',
    fontSize: 25
});

Смотрите этот эскиз для демонстрации.

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