paper.js - 直到拖动才设置PointText字体

时间:2013-12-21 05:43:33

标签: canvas html5-canvas paperjs

使用paper.js,我使用以下调用在屏幕上创建一个字符长的文本对象:

var text = new paper.PointText({
  point: [x,y],
    content: "9",
    fillColor: "white",
    font: "Comfortaa",
    fontWeight: "bold",
    fontSize: 30
});

然而,我遇到了这样一个问题,即文本被光栅化到屏幕上,在主体上定义了任何默认字体,并且它一直保持这种状态,直到我使用工具的拖动事件移动PointText对象。只要我用鼠标移动文本,文本就会立即将字体更改为,在本例中为Comfortaa。以下是之前和之后的两个屏幕截图:

before drag, font is the default Open Sans after dragging the character to the left, fonts change

在第一次抽奖之后,这看起来不像是调用纸张的draw()。此外,字体不会像Google Fonts API那样异步加载,它们是本地的,因此这不是问题。

1 个答案:

答案 0 :(得分:4)

使用JürgLehni的建议,我能够通过添加一个新div,将隐藏可见性和字体系列设置为我的webfont来使其工作。

<div style="visibility: hidden; font-family: 'Share Tech Mono';">test</div>