您当前的位置: 首页 > 宏观 > > 内容页

发现了几个贼有意思的开源项目!

来源:程序员鱼皮 2023-06-03 15:44:39

在 Web 开发中,Canvas 是一个强大的绘图技术,可以实现各种有趣的交互效果和动态图形。本文将盘点 10 个基于 Canvas 的开源项目,旨在为大家提供开发灵感和思路,以便更好地探索并应用 Canvas 技术!


【资料图】

canvas-editor

canvas-editor 是一个基于 canvas/svg 的富文本编辑器,类似 word。其具有以下特点:

所见即所得:类word可分页,所见即所得 轻量的数据结构:一段JSON即可呈现复杂样式 丰富的功能:支持常见富文本操作、表格、水印、控件、公式等 使用方便:官方发布核心npm包,菜单栏、工具栏可自行维护 灵活的开发机制:通过接口可获取生命周期、事件回调、自定义右键菜单、快捷键等 完全类型化的API:灵活的 API 和完整的 TypeScript 类型

Github:https://github.com/Hufe921/canvas-editor

lucky-canvas

lucky-canvas 是一套基于 TS + Canvas 开发的【大转盘 / 九宫格 / 老虎机】抽奖插件,一套源码适配多端框架 JS / Vue / React / Taro / UniApp / 微信小程序等,奖品 / 文字 / 图片 / 颜色 / 按钮均可配置,支持同步 / 异步抽奖,概率前 / 后端可控,自动根据 dpr 调整清晰度适配移动端。

Github:https://github.com/buuing/lucky-canvas

Excalidraw

Excalidraw 是一个开源的在线白板工具,主要用于创建简单直观的图形和草图,支持共享和协作。以下是 Excalidraw 的主要特点:

简单易用:具有直观简单的界面和操作方式,用户可以轻松创建和编辑图形,并实现各种设计需求。 实时协作:支持多人实时协作,用户可以与其他人一起编辑和讨论,在线完成协作任务。 自由绘制和对象管理:提供了自由绘制、文本框、箭头、线段、矩形、椭圆、图标等多种基本对象,并支持对这些对象进行移动、复制、旋转、缩放、对齐等操作,帮助用户实现更为精细的设计。 高度灵活性:支持导出为SVG、PNG、Clipboard等多种格式,方便用户进行分享和保存。

Github:https://github.com/excalidraw/excalidraw

fireworks-js

fireworks-js 是一个基于 Canvas 的动画库,用于在网页上制作烟花特效。该库的特点如下:

轻量级:fireworks-js 体积小,不依赖其他库或框架,易于集成。 易于使用:只需几行代码就可以创建出炫目的烟花特效,具有良好的可定制性和可扩展性。 动画效果逼真:fireworks-js 采用粒子系统实现烟花特效,能够模拟出逼真的爆炸、飞溅和星光等效果。 浏览器兼容性良好:可以在主流的现代浏览器上运行,支持多种设备和分辨率,包括移动端。

该项目提供了多种框架的实现:

Github:https://github.com/crashmax-dev/fireworks-js

Luckysheet

Luckysheet 是一个纯前端基于 Canvas 的类似 excel 的在线表格,功能强大、配置简单、完全开源。其具有以下功能:

格式:样式、条件格式、文本对齐和旋转、文本截断、溢出、自动换行、多种数据类型、单元格分割样式 单元格:拖放、填充柄、多选、查找和替换、定位、合并单元格、数据验证 行和列:隐藏、插入、删除行或列、冻结和拆分文本 操作:撤消、重做、复制、粘贴、剪切、热键、格式刷、拖放选择 公式和函数:内置、远程和自定义公式 表:过滤、排序 增强功能:数据透视表、图表、评论、协同编辑、插入图片、矩阵计算、截图、复制为其他格式、EXCEL导入导出等。

Github:https://github.com/dream-num/Luckysheet

rough

Rough.js 是一个轻量级的(大约 8k),基于 Canvas 的可以绘制出粗略的手绘风格的图形库。该库提供绘制线条、曲线、弧线、多边形、圆形和椭圆的基础能力,同时支持绘制 SVG 路径。除此之外,Rough.js 还提供了大量的可自定义选项,可以调整线宽、线条颜色、填充颜色、字体样式、背景颜色等,以使图形更加个性化。

Github:https://github.com/rough-stuff/rough

Signature Pad

Signature Pad 是一个基于 Canvas 实现的签名库,用于绘制签名。它可以在所有现代桌面和移动浏览器中使用,不依赖于任何外部库。Signature Pad提供了许多可自定义的选项,如笔画颜色、粗细、背景色、画布大小、签名格式等,可以轻松实现不同的签名风格和功能。

Github:https://github.com/szimek/signature_pad

canvas-confetti

canvas-confetti 是一个基于 Canvas 的库,用于在 Web 页面中实现炫酷的彩色纸屑动画效果。它实现了高性能、流畅的纸屑动画效果,同时兼容各种现代浏览器。提供了许多可自定义的选项,如纸屑颜色、形状、数量、速度、角度、发射器位置等,可以轻松实现不同的纸屑效果。并支持多种触发方式,如点击按钮、滚动页面、定时触发等,可根据需求进行定制。

Github:https://github.com/catdad/canvas-confetti

x-spreadsheet

x-spreadsheet 是一个基于 Web(es6) canvas 构建的轻量级 Excel 开发库。其具有以下特点:

轻量级:完整功能,包含所有插件。代码打包后只不到 200kb 易于使用:如果只需要一些简单的功能可以零配置 数据驱动:调整数据非常的简单快捷
sheet-demo.png

Github:https://github.com/myliang/x-spreadsheet

QRCanvas

QRCanvas 是一个基于 canvas 的 JavaScript 二维码生成工具。其具有以下特点:

仅依赖 canvas,兼容性好 简单,仅仅是需要一些数据的配置 定制化功能丰富 支持 Node.js 方便在 React 和 Vue 中使用 支持所有主流的浏览器

Github:https://github.com/gera2ld/qrcanvas


欢迎学编程的朋友们加入鱼皮的,和上万名学编程的同学共享知识、交流进步,学习原创项目并享有答疑指导服务。

往期推荐

上一篇 下一篇
x
推荐阅读 更多
发现了几个贼有意思的开源项目!

在Web开发中,Canvas是一个强大的绘图技术,可以实现各种有趣的交互效果和动态图形。本文将盘点10个基于Can

2023-06-03
当前关注:迪士尼乐园有望落户武汉?官方回应:正在洽谈

迪士尼乐园要来武汉?真的有进展了!近日有网友询问武汉市相关部门能否引进迪士尼乐园?官方最新回应:正在

2023-06-03
高质量发展调研行丨听,科创与产业在安徽融合“共鸣”_新动态

实时翻译60多种语言的AI同传、快速定位工业设备故障的声学成像仪、可以评卷并且构建学科知识图谱的学习助手

2023-06-03
海参崴对华开放,中国东北迎来哪些机遇?

海参崴进一步开放后,中俄物流在黑、吉两省将不再是“断头路”。未来可将更多货物从珠三角、长三角运到中国

2023-06-03
热点在线丨大连的区号是什么(大连区号是多少)

来为大家解答以上的问题。大连的区号是什么,大连区号是多少这个很多人还不知道,现在让我们一起来看看吧!1

2023-06-03
天天看热讯:温州免费肝癌筛查项目启动 8个定点单位可筛查

为提高早期肝癌的检出率及治愈率,近日,由浙江省肿瘤防治办公室发起,温州市肿瘤防治办公室、温州市中心医

2023-06-03
农业标准化_农业标准化-天天时讯

农业标准化是指以农业为对象的标准化活动。具体来说,是指为了有关各方面的利益,对农业经济、技术、科学、

2023-06-03
山东青岛莱西——改进审批流程 优化营商环境|焦点热议

山东莱西市优化审批流程,工程建设项目审批提速47%,重点项目审批时间缩短40%,新增企业数量增长55 8%。

2023-06-03
当前播报:同样是李连杰基因,把黄秋燕和利智女儿一对比,差距就出来了

父亲是影帝李连杰,母亲是打星黄秋燕。作为含着金汤匙出生的小孩,李思并没有过上公主般的生活,而是成了留

2023-06-03
天天快消息!excel数据分析直方图在哪里_excel数据分析直方图

1、你必须先选中。2、数据区域在插入直方图。本文就为大家分享到这里,希望小伙伴们会喜欢。

2023-06-03