使用PIXI JS更改弯曲文本的字体大小

时间:2019-02-26 14:11:20

标签: javascript text mesh pixi.js

是否有一种简单的方法来更改PIXI JS弯曲文本中的字体大小? 文本是通过new PIXI.mesh.Rope(pixiText.texture, points)创建的。 使用调整大小按钮(请参见下面的图像),您可以更改对象的大小。我可以使用scale,但会降低质量。

可以在基本文本对象中更改字体大小text.style.fontSize = newFontSize

Tshirt

1 个答案:

答案 0 :(得分:0)

没有像更改字体大小那样的超级简单方法。这里的问题是通过Text对象生成的字母使用特殊的机制,从而使其能够快速重新呈现。要创建网格,您需要纹理,并且纹理不能是TextGraphics对象,因为它们是根据自己的设置渲染的。

有两种解决方案:

  1. 如果用户空间有限,则可以尝试生成更大的文本,然后生成网格并缩小其比例,因此即使用户调整其大小,文本仍将具有足够好的分辨率。这样做很容易,但可能无法满足您的要求,或者可能难以实现。

  2. 更好的解决方案,但更难实现的是每帧或在用户调整大小后更新纹理。有两种方法可以做到:

    • 使用附加画布并在其中绘制文本以执行手动更新(将新纹理加载到gpu),或者可能使用text.reslution属性并以类似方式进行更新
    • 使用RenderTexture。这种特殊的纹理允许在其中渲染任何pixi对象,因此,您可以执行以下操作:创建Text对象,并像以前一样使用属性对其进行操作,使用此文本或包含文本的容器创建RenderTexture其他所需的元素,然后使用此纹理创建网格。如果您对文本进行了任何更新,则将使用renderTexture自动将其更新为网格。