标签:ck canvas const canvasKit Webgl 学习 paint path 绘制
一 基础概念
1. 关于canvas 、 webgl 、 skia 、canvasKit
ctx.getContext('2d ' / 'webgl ' / 'webgl2');
类型 2d 、webgl、webgl2 有什么不同?
canvas2d 主要的性能问题就在于,绘制中间对象没法缓存,以及部分能力需要 CPU 计算这两点上。 而 canvaskit 在提供了类似 canvas 2d 的接口的同时,又让我们不用去操心 webGL 上的技术问题,可以说非常适合复杂的 2d 图形绘制场景了。canvasKit 还提供其他功能,比如布尔运算,文字排版(canvas 2d 中 fillText 只能绘制单行文本,不能直接换行,需要配合 计算文字长度的属性 measureText 来判断换行)
2. 关于skia 和 canvasKit 以及 wasm
Skia 是一个开源 2D 图形库,它提供适用于各种硬件和软件平台的通用 API。 它作为 Google Chrome 和 ChromeOS、Android、Flutter 和许多其他产品的图形引擎。Skia 支持多语言调用, C++/C#/Java/Python/Rust/WASM 等。
程序化设计有浏览器端以及服务端的绘制需求,所以我们选择 canvaskit-wasm 这个 Skia 打包出来的供 JS 调用的 WebAssembly NPM 包,在 web 端以及 nodejs 端都能使用,这样就满足了多端的需求。
尽管使用了画布
标签:ck,
canvas,
const,
canvasKit,
Webgl,
学习,
paint,
path,
绘制
From: https://www.cnblogs.com/honkerzh/p/17768841.html