tinysvg 是一个纯 Lua 编写的 SVG 读取与渲染库,专为 Garry's Mod 打造,能以任意尺寸渲染矢量图形而不损失分辨率。

Stars

16

7 天增长

暂无数据

Fork 数

0

开放 Issue

0

开源协议

暂无数据

最近更新

2026-07-14

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

它通过单一文件、零依赖的方式在 GMod 中实现真正的矢量渲染,支持路径、渐变、变换和 CSS 等丰富的 SVG 特性,并提供图标集管理功能以简化 UI 集成。

适合谁使用

  • Garry's Mod 插件开发者
  • 设计 HUD 和 VGUI 面板的 UI 设计师
  • 需要多尺寸清晰图标的模组制作者
  • 在 GMod 项目中嵌入 SVG 图形的开发者

典型使用场景

  • 在 HUD 钩子和 VGUI Paint 方法中绘制清晰图标
  • 渲染可缩放的 UI 元素,在任何面板尺寸下保持锐利
  • 管理一组内联 SVG 字形,自动缓存并支持淡入预渲染
  • 将 SVG 字符串或文件转换为可渲染材质,用于 3D2D 表面

项目优势

  • 单一客户端文件,无外部依赖
  • 基于尺寸桶缓存的真实矢量渲染,使用池化渲染目标以节省 GPU 内存
  • 广泛 SVG 支持:路径、基本形状、渐变、变换、CSS、命名颜色和单位
  • 托管 IconSet 层简化了命名图标字形的处理,支持惰性解析和预渲染

使用前须知

  • 不支持文本、图像、图案、遮罩、滤镜、剪裁路径或动画/脚本
  • 组透明度近似处理(乘算到子元素),在元素重叠时可能效果不同
  • 非均匀缩放会使用平均缩放因子导致描边宽度轻微失真

README 快速开始

Quick start

项目描述

Pure-Lua SVG parser & vector renderer for Garry's Mod. No dependencies, crisp at any scale.

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

koplugin-swipe-animation
koplugin-swipe-animation GitHub avatar

Swipe_Animation.koplugin

A software patch for KOReader that adds smooth page-turn animations with customizable settings to e-ink devices lacking native hardware support.

Lua
65
rv178
rv178 GitHub avatar

txm.nvim

A Neovim plugin that provides inline LaTeX preview as virtual text via the txm renderer.

Lua
30
alp1x
alp1x GitHub avatar

um-custom-plate

A FiveM script that allows players to add custom text, images, and color to vehicle license plates using DUI rendering, with database persistence and automatic restoration.

Lua
10