文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

PixiJS怎么实现文字的绘制

2023-07-05 04:37

关注

这篇文章主要介绍了PixiJS怎么实现文字的绘制的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PixiJS怎么实现文字的绘制文章都会有所收获,下面我们一起来看看吧。

Text

最基本的写法,这里没有设置样式:

const app = new PIXI.Application({ width: 640, height: 360, background: 0xffffff });document.body.appendChild(app.view);// 创建文本const text = new PIXI.Text("前端西瓜哥");text.x = 100;text.y = 50;app.stage.addChild(text);

可以设置文字样式,需要用 TextStyle 类。

const textStyle = new PIXI.TextStyle({  fill: "#FF0044",  fontSize: 32,  strokeThickness: 1,  fontWeight: "bold",});const text = new PIXI.Text("前端西瓜哥", textStyle);text.x = 100;text.y = 50;

也可以通过给 text.style 赋值的方式来设置样式。

通过 Text 类绘制文字,会将文字内容从头到位进行解析并光栅化,如果你要通过 transform 改变文字的大小,会导致一些失真,建议修改字体大小的方式去绘制。

文字内容如果比较多,且变化得比较频繁,可能造成一些性能上的问题。这种情况下,可以考虑能不能用 BitMapText 来优化。

BitMapText

BitMap 就是位图的意思,它会将一些字体的单个字符先预渲染。当然这个预渲染的是指定了特定的样式的。然后在绘制的时候,pixijs 就可以将一个个预渲染的字符拼接在一起,而不是重新计算绘制点并光栅化,效率很高。

缺点是样式是固定的,如果样式一直变,就比较难命中缓存,不太适合使用了。

另外,BitMap 更适合拉丁语系,因为字符集有限,而像是中文这种象形文字,字符集太多了,做缓存性价比不高。

下面是官方示例。

const app = new PIXI.Application({ background: '#1099bb' });document.body.appendChild(app.view);PIXI.Assets.load('./desyrel.xml').then(() => {    const bitmapFontText = new PIXI.BitmapText(        'bitmap fonts are supported!\nWoo yay!', {            fontName: 'Desyrel',            fontSize: 55,            align: 'left',        },    );    bitmapFontText.x = 50;    bitmapFontText.y = 200;    app.stage.addChild(bitmapFontText);});

pixijs 从 desyrel.xml 文件中提取信息,desyrel.xml 关联了一个 png 图片,里面放了一些位图字体。感觉有点像 SpriteSheet。

PixiJS怎么实现文字的绘制

绘制的结果为:

PixiJS怎么实现文字的绘制

将字体的转换为位图,可以用一个名为 msdf-bmfont-xml 的 npm 库工具去实现。

关于“PixiJS怎么实现文字的绘制”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“PixiJS怎么实现文字的绘制”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯