将 PointText 置于 Canvas 的中心

Position PointText in Center of Canvas

我需要这个:

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

在我的 canvas 中居中 (x + y)。

canvas没有什么特别的。

view 对象存储一个 center 属性 代表它的中心。 所以如果你这样做:

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

它将位于您 canvas 的中心。

这也是Sketch

如果您正在寻找更精确的定位,请考虑使用 justification: 'center' 将文本居中并添加与字体大小成比例的小垂直偏移。

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

请参阅此 Sketch 进行演示。