Положение 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
});
Смотрите этот эскиз для демонстрации.