elm-canvas

用 Elm 纯函数式语法轻松绘制 Canvas 图形,告别命令式代码

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 设计创意 🍴 复刻 29 🐛 待处理 13 👀 关注 3
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 168
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源库,完全免费,无付费版本。

项目预览

elm-canvas 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类设计创意
开发团队joakin
定价模式🏷️完全免费
价格说明开源库,完全免费,无付费版本。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议BSD-3-Clause
主要语言Elm
技术栈/模型canvas,custom-elements,elm,elm-lang,generative-art,web-components
GitHub 星标★ 168
上线时间2018-07-30 00:00:00
代码更新2022-11-21
仓库体积2.1 MB
本站数据更新2026-11-10
维护状态低维护
收录时间2026-08-09
浏览次数6

项目介绍

elm-canvas 是一个专为 Elm 语言设计的画布绘图库。它解决了 Elm 开发者无法方便地使用 HTML5 Canvas 进行图形绘制的问题,将命令式的 Canvas API 封装为 Elm 风格的函数式接口。该库提供了一组纯函数来创建和组合绘图指令,支持绘制基本形状、路径、文本、图像等,并允许设置样式如颜色、线宽、渐变等。通过 Elm 的架构,开发者可以声明式地描述画布内容,并随着模型变化自动重绘。它支持响应式尺寸和像素比适配,适合构建图表、游戏、可视化等需要自定义绘制的应用。核心能力包括:完整的绘图指令集、与 Elm 的 Html 和 Svg 模块无缝集成、支持动画帧循环、以及通过端口与 JavaScript 交互的扩展点。项目处于早期阶段,但 API 设计简洁,文档齐全,是 Elm 生态中少有的专注于 Canvas 的解决方案。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 168

技术标签

核心亮点

  • 纯 Elm 实现,无 JavaScript 依赖,类型安全,编译期捕获绘图错误
  • API 设计符合 Elm 哲学,支持函数组合和管道操作,代码简洁可读
  • 内置动画帧支持,方便创建流畅的交互式可视化

不足之处

  • 项目处于早期阶段,功能覆盖不如成熟库全面
  • 文档/社区待观察

适用场景

  • 在 Elm 项目中绘制自定义图表和数据可视化
  • 开发基于 Canvas 的 2D 小游戏或动画
  • 构建需要精细控制绘图效果的创意工具或编辑器

替代项目

elm-2d、elm-plot、elm-charts

上一篇:there-are-stars

下一篇:AnimatedPythonPatterns

同类项目推荐

generative 开源

打开浏览器,即刻开始生成艺术与 WebGL 实验

A digital playground for experimenting with creative coding and WebGL

★ 71 2026-08-09
sketches 开源

翻开源代码,偷学创意编程的视觉魔法

basically the entirety of my sketching practice

★ 81 2026-08-09
JRubyArt 开源

用 Ruby 优雅地写 Processing,创意编程更顺手

JRubyArt a ruby implementation of processing

★ 95 2026-08-09
generative-noodles 开源

用代码生成流畅线条,直接驱动绘图仪作画

A generative art sketch for creating plotter art in Processing

★ 126 2026-08-09
claude-skill 开源

给 Claude 装上电影级落地页设计技能

Free Claude skill: make Claude build award-level, cinematic landing pages. By Motion···

★ 1940 2026-10-30
L5 开源

用 Lua 快速玩转创意编程,轻量跨平台。

L5 is a fun, fast, cross-platform, and lightweight implementation of the Processing ···

★ 73 2026-08-09
awesome-design-md-jp 开源

给 AI 代理一份日文排版规范,生成的日文 UI 不再乱。

日本語UIをAIエージェントに正しくつくらせるためのDESIGN.md集。Japanese DESIGN.md coll···

★ 1008 2026-10-08
onlook 开源

在真实代码上做设计,AI 帮你直接改界面

The Developer Tool for Visual Engineers • An Open-Source AI-First Design tool • Vi···

★ 27156 2026-11-04