百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

推荐28个让你眼前一亮的Canvas库

myzbx 2025-03-03 19:25 43 浏览

Canvas技术的诞生可谓是让绘图技术如虎添翼,本文将推荐一系列Canvas图形绘制、流程图、组织图、甘特图、全景图、3D库、VR/AR、图像编辑等方面的库,希望助你在Canvas绘图时寻得一把趁手的利器。

同时,愣锤将Canvas的相关资源进行的收录整理分类,更多的资源请关注Github项目地址awesome-canvas。目前该库持续维护中,已收录大约200+的Canvas库,以及资源网址、插件、书籍、博客等资源。

图形处理库

图形绘制是Canvas中最基本的内容,但是Canvas本身提供的api比较基础,开发起来低效。而且也缺少完整的事件系统、区域监测、缓存等等。下面让我们来看几款高效的图形处理库吧。

Konva

简介:Konva是一个 HTML5 Canvas JavaScript 框架, 通过扩展 Canvas 的 2D Context 让桌面端和移动端Canvas支持交互性,使其支持高性能动画、过渡、节点嵌套、分层、过滤、缓存、事件处理等等。Konva官方地址(
https://konvajs.org/docs/sandbox/index.html)

除上述之外,文档相对友好,但也仅仅是相对于同类库的文档友好那么一滴滴,社区有维护一个中文文档。

fabric.js

简介: Fabric.js是一个可以轻松处理 HTML5 Canvas元素的框架,使得Canvas元素支持交互式对象模型,同时也是一个SVG-to-CanvasCanvas-to-SVG的解析器, fabric.js官方地址(
http://fabricjs.com/demos/)

fabricjs是和konva同类型但是比konva更老牌的一个的Canvas库,目前github上Star数2万+

更多示例如下图所示:

图像编辑

市面上图像编辑的软件有很多,像大家所熟知的PS、sketch、axure、激萌、剪映等等。那么如果我们想开发类似的软件,有没有可以使用的库或者参考的开源软件呢?

miniPaint

简介:miniPaint [官方网站在线演示](
https://viliusle.github.io/miniPaint/) - 在线版的PS。PS这款软件大家都不陌生,web版本的如何呢?请看下图:

DarkroomJS

简介:DarkroomJS [官方网站在线演示](https://pqina.nl/pintura/?affiliate_id=854594675) - 基于Fabricjs的浏览器端可扩展的图像编辑工具

fabric-brush

简介:fabric-brush [官方网站在线演示] (
https://tennisonchan.github.io/fabric-brush/)- 基于Fabric.js的Canvas笔刷工具

fabricjs-image-editor-origin

简介:
fabricjs-image-editor-origin [官方网站在线演示] (
https://fabricjs-image-editor-f62330.netlify.app/)- Fabricjs图像编辑器

react-sketch

简介:react-sketch [官方网站在线演示] (
http://tbolis.github.io/showcase/react-sketch/)- 基于React、Fabricjs的素描应用

glitch-canvas

简介:glitch-canvas [官方网站在线演示](
https://snorpey.github.io/jpg-glitch/) - 给画布元素添加故障效果

animockup

简介:animockup [官方网站在线演示] (https://animockup.com/)- 在浏览器中创建动画模型,并导出为视频或动画GIF

物理引擎

物理引擎使用质量、速度、摩擦力和空气阻力等变量,模拟了一个近似真实的物理系统,为刚性物体赋予真实的物理效果,比如重力、旋转和碰撞等效果,让物体的行为表现的更加趋向真实。例如,守望先锋的英雄在跳起时,系统所设置的重力参数就决定了他能跳多高,下落时的速度有多快,子弹的飞行轨迹等等。

matter.js

简介: matter.js是一个用于 Web 的 JavaScript 2D 物理引擎库 matter.js官方地址(
https://brm.io/matter-js/demo/#wreckingBall)

matter.js相较于老牌的 Box2D 引擎库更为轻量级(压缩版仅有 87 KB),并且在性能和功能方面也不逊色。

流程图/组织图/图编辑等

工业软件开发,一直是软件领域复杂而又重要的一环。其对技术人的要求要是更高的,下面看看有哪些可以辅助我们快速开发的库或者参考的场景吧。

gojs

简介: gojs是一款可以非常方便的开发交互式流程图、组织结构图、设计工具、规划工具、可视化语言的JavaScript图表库。 gojs.js官方地址(https://gojs.net/latest/)

  • GoJS用自定义模板和布局组件简化了节点、链接和分组。
  • 给用户交互提供了许多先进的功能,如拖拽、复制、粘贴、文本编辑、工具提示、上下文菜单、自动布局、模板、数据绑定和模型、事务状态和撤销管理、调色板、概述、事件处理程序、命令和自定义操作的扩展工具系统。

文档中提供了大量的demo可供参考,基本对于常见的图编辑程序做到了全覆盖。

butterfly

简介:butterfly [官方网站在线演示] (
https://butterfly-dag.gitee.io/butterfly-dag/demo/analysis)一个基于JS的数据驱动的节点式编排组件库,同时适用于React/Vue2组件。

  • 丰富的DEMO,开箱即用
  • 全方位管理画布,开发者只需要更专注定制化的需求
  • 利用DOM/REACT/VUE来定制元素;灵活性,可塑性,拓展性优秀
  • 提供了中文文档,这点对英文不好的小伙伴很Nice

wireflow

简介:wireflow [官方在线演示](https://app.wireflow.co/) 用户流程图实时协作工具。

  • Wireflow 有超过 100 种自定义构建图形/卡可供使用,涵盖了大多数 Web 元素、交互和使用案例。
  • Wireflow 考虑到了协作。您可以邀请您的同事和他们一起实时设计下一个项目的用户流程。
  • 它具有内置的实时聊天功能,让您能够与您的队友进行交流,并且在您实时协作时仍然在同一个应用程序中。

flowy

简介:Flowy [官方在线演示](
https://alyssax.com/x/flowy) - 用于创建流程图的最小javascript库。使创建具有流程图功能的 WebApp 成为一项非常简单的任务。通可以在几分钟内构建自动化软件、思维导图工具或简单的编程平台。

  • 响应式拖放、自动捕捉、自动滚动
  • 块重排、删除块、自动块居中
  • 条件捕捉、条件块移除、无依赖项

Workflow Designer

简介:Workflow Designer [官方在线示例] (
https://guozhaolong.github.io/wfd/)- 基于G6和React的可视化流程编辑器。

web-pdm

简介:web-pdm [在线示例](
https://erd.zyking.xyz/demo) - 用G6做的ER图工具,最终目标是想做成在线版的powerdesigner.

X-Flowchart-Vue

简介:X-Flowchart-Vue [官方在线演示] (
http://oxoyo.co/X-Flowchart-Vue/)- 基于G6和Vue的可视化图形编辑器。

OrgChart

简介:OrgChart [官方在线演示] (
https://dabeng.github.io/OrgChart/)- 简单直接的组织图插件

welabx-g6

简介:welabx-g6 [官方在线示例] (
https://claudewowo.github.io/welabx-g6/dist/?_blank)- 基于G6和Vue的流程图编辑器。

全景图/AR/VR

5g的普及、虚拟现实/增强现实落地、元宇宙的火热......似乎让Canvas再度推上了技术的顶峰。下面让我来看看开发这些场景常见的Canvas库吧。

Pannellum

简介:Pannellum [官方在线演示] (https://pannellum.org/)- 轻量、免费、开源的web全景查看器。

Panolens.js

简介:Panolens.js [官方在线演示] (
https://pchen66.github.io/Panolens/)- Panolens.js基于Three.JS,主要研究领域是全景、虚拟现实和潜在的增强现实。

JS-Cloudimage-360-View

简介:JS-Cloudimage-360-View [官方在线演示] (
https://scaleflex.github.io/js-cloudimage-360-view/)一个简单的、交互式的资源,可以用来提供您的产品的虚拟游览。

A-Frame

简介:A-Frame [官方在线演示](https://aframe.io/) A-Frame 除了帮助您构建 360 度媒体播放器外,它还提供了许多附加功能。其他功能可帮助您增强网站的虚拟现实体验。

3D库

three.js

简介:three.js [官方在线演示](
https://threejs.org/examples/) - 创建易于使用、轻量级、跨浏览器的通用3d js库。three.js就不多介绍了,大家想必都很熟悉。

zdog

简介:zdog [官方在线演示](https://zzz.dog/) - 基于canvas和SVG设计师友好的伪3D引擎

seen.js

简介:seen [官方在线演示] (http://seenjs.io/)- 使用SVG或Canvas渲染3D场景。

Oimo.js

简介:Oimo.js [官方在线演示](
http://lo-th.github.io/Oimo.js/index.html#basic) - 轻量级的JS 3D物理引擎。

phoria.js

简介:phoria.js [官方在线演示](
http://www.kevs3d.co.uk/dev/phoria/index.html) - 用于在 HTML5 画布 2D 渲染器上进行简单 3D 图形和可视化的 JavaScript 库。它不使用 WebGL。适用于所有 HTML5 浏览器,包括桌面、iOS 和 Android。

原文来自:
https://juejin.cn/post/7038267477121302542

相关推荐

如何设计一个优秀的电子商务产品详情页

加入人人都是产品经理【起点学院】产品经理实战训练营,BAT产品总监手把手带你学产品电子商务网站的产品详情页面无疑是设计师和开发人员关注的最重要的网页之一。产品详情页面是客户作出“加入购物车”决定的页面...

怎么在JS中使用Ajax进行异步请求?

大家好,今天我来分享一项JavaScript的实战技巧,即如何在JS中使用Ajax进行异步请求,让你的网页速度瞬间提升。Ajax是一种在不刷新整个网页的情况下与服务器进行数据交互的技术,可以实现异步加...

中小企业如何组建,管理团队_中小企业应当如何开展组织结构设计变革

前言写了太多关于产品的东西觉得应该换换口味.从码农到架构师,从前端到平面再到UI、UE,最后走向了产品这条不归路,其实以前一直再给你们讲.产品经理跟项目经理区别没有特别大,两个岗位之间有很...

前端监控 SDK 开发分享_前端监控系统 开源

一、前言随着前端的发展和被重视,慢慢的行业内对于前端监控系统的重视程度也在增加。这里不对为什么需要监控再做解释。那我们先直接说说需求。对于中小型公司来说,可以直接使用三方的监控,比如自己搭建一套免费的...

Ajax 会被 fetch 取代吗?Axios 怎么办?

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!今天给大家带来的主题是ajax、fetch...

前端面试题《AJAX》_前端面试ajax考点汇总

1.什么是ajax?ajax作用是什么?AJAX=异步JavaScript和XML。AJAX是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX可以使网页实...

Ajax 详细介绍_ajax

1、ajax是什么?asynchronousjavascriptandxml:异步的javascript和xml。ajax是用来改善用户体验的一种技术,其本质是利用浏览器内置的一个特殊的...

6款可替代dreamweaver的工具_替代powerdesigner的工具

dreamweaver对一个web前端工作者来说,再熟悉不过了,像我07年接触web前端开发就是用的dreamweaver,一直用到现在,身边的朋友有跟我推荐过各种更好用的可替代dreamweaver...

我敢保证,全网没有再比这更详细的Java知识点总结了,送你啊

接下来你看到的将是全网最详细的Java知识点总结,全文分为三大部分:Java基础、Java框架、Java+云数据小编将为大家仔细讲解每大部分里面的详细知识点,别眨眼,从小白到大佬、零基础到精通,你绝...

福斯《死侍》发布新剧照 "小贱贱"韦德被改造前造型曝光

时光网讯福斯出品的科幻片《死侍》今天发布新剧照,其中一张是较为罕见的死侍在被改造之前的剧照,其余两张剧照都是死侍在执行任务中的状态。据外媒推测,片方此时发布剧照,预计是为了给不久之后影片发布首款正式预...

2021年超详细的java学习路线总结—纯干货分享

本文整理了java开发的学习路线和相关的学习资源,非常适合零基础入门java的同学,希望大家在学习的时候,能够节省时间。纯干货,良心推荐!第一阶段:Java基础重点知识点:数据类型、核心语法、面向对象...

不用海淘,真黑五来到你身边:亚马逊15件热卖爆款推荐!

Fujifilm富士instaxMini8小黄人拍立得相机(黄色/蓝色)扫二维码进入购物页面黑五是入手一个轻巧可爱的拍立得相机的好时机,此款是mini8的小黄人特别版,除了颜色涂装成小黄人...

2025 年 Python 爬虫四大前沿技术:从异步到 AI

作为互联网大厂的后端Python爬虫开发,你是否也曾遇到过这些痛点:面对海量目标URL,单线程爬虫爬取一周还没完成任务;动态渲染的SPA页面,requests库返回的全是空白代码;好不容易...

最贱超级英雄《死侍》来了!_死侍超燃

死侍Deadpool(2016)导演:蒂姆·米勒编剧:略特·里斯/保罗·沃尼克主演:瑞恩·雷诺兹/莫蕾娜·巴卡林/吉娜·卡拉诺/艾德·斯克林/T·J·米勒类型:动作/...

停止javascript的ajax请求,取消axios请求,取消reactfetch请求

一、Ajax原生里可以通过XMLHttpRequest对象上的abort方法来中断ajax。注意abort方法不能阻止向服务器发送请求,只能停止当前ajax请求。停止javascript的ajax请求...