百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
T

tiny-skia

> 编程语言
开源

一个小型 Skia 子集移植到 Rust

1.6K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

一个小型 Skia 子集移植到 Rust

tiny-skia 是一个小型的 [Skia] 子集,移植到 Rust 中。目标是为 Rust 生态系统提供一个绝对最小的、仅依赖 CPU 的 2D 渲染库,重点是渲染质量、速度和二进制大小。虽然 tiny-skia 非常小,但它支持所有常见的 2D 操作,例如:用固体颜色、渐变或图案填充和绘制形状;绘制虚线;裁剪;图像混合;PNG 加载/保存。主要缺失的功能是文本渲染(请参阅 #1)。

注意: 这不是 Skia 的替代方案,也永远不会是。这更像是一个研究项目。

这套库的主要动机是要有一个小巧、高质量的 2D 渲染库,可以用于 [resvg]。而选择范围却非常有限。基本上,你只能选择 [cairo],Qt 和 Skia。而它们都相对臃肿、难以编译和分发。更不用说,它们都不是用 Rust 编写的。

但是,如果我们忽略这些问题,只关注质量和速度,Skia 无疑是最好的一个。然而,Skia 的主要问题是它非常庞大。真的非常庞大。它支持 CPU 和 GPU 渲染,多种输入和输出格式(包括 SVG 和 PDF),各种滤镜,色彩空间,色彩类型和文本渲染。它包含 370 KLOC(不含依赖)的代码(含依赖约为 7 MLOC),需要大约 4-8 GiB 的磁盘空间才能从源代码构建。而最终的二进制文件大小为 3-8 MiB,取决于启用的功能。更不用说它需要 clang 而不需要其他编译器,并且使用了一种晦涩的构建系统(gn) ,直到最近还在使用 Python2。

tiny-skia 试图保持小巧、简单且易于构建。目前,它的代码量约为 14 KLOC,在现代 CPU 上编译时间不到 5 秒,并为二进制文件增加约 200 KiB。

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Rust

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言