Web 开发者,毕业于中国科技大学,现供职于稿定科技前端团队,先后负责了平面设计编辑器、3D 文字、跨端图形框架等项目的研发。其同样活跃在技术社区,在知乎和掘金的博客与技术回答阅读量累计超百万,译有《JavaScript 20 年》。
Web 开发者,毕业于中国科技大学,现供职于稿定科技前端团队,先后负责了平面设计编辑器、3D 文字、跨端图形框架等项目的研发。其同样活跃在技术社区,在知乎和掘金的博客与技术回答阅读量累计超百万,译有《JavaScript 20 年》。
图片导出能力对稿定的平面设计业务十分重要。为满足对跨平台一致性与服务吞吐量的需求,我们以朴素的无头浏览器截图方案为起点逐渐深入,基于 Skia 和 HarfBuzz 等原生库自研了文字排版库,并将其接入了 Node 服务端、原生移动端与 Flutter 应用中,达到了各端一致的渲染效果。本次分享将介绍这一方案背后所需的技术沉淀,分享如何在理解文字、位图与矢量渲染基础知识的基础上,实现高效的出图能力。
演讲提纲:
1. 各端出图的基本原理,以及如何在 Web 端从依赖 Puppeteer 截图过渡到可降级的 Canvas 前端出图方案
2. 移动端文字排版模块的实现原理,如何从平台特定的朴素实现迁移到通用文字排版库,再到其在 Flutter 等 Hybrid 项目中的接入
3. 在 Node 端如何基于 Canvas 扩展优化 Puppeteer 方案的负载,并基于 Rust 开发 Canvas 扩展,实现优于社区现有 node-canvas 的渲染器
4. 未来展望,包括在批量出图等方向上的优化
你将获得:



电话咨询