20個優(yōu)秀的畫布 Canvas 開源項目,鐵子們有需要的可以收藏一下喲
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
前段時間有部分粉絲私信說用html5 可以實現(xiàn)放煙花效果嗎?可以實現(xiàn)下紅包雨、大轉(zhuǎn)盤、九宮格、老虎機、彩色紙屑慶祝等等這些效果嗎?其實這些市場上大家都經(jīng)??匆娺^,小編也發(fā)布相關(guān)的優(yōu)質(zhì)圖文,有興趣的也可以回頭看看: 幾行代碼實現(xiàn)新年祝福 今天帶著大家知道在 Web 開發(fā)中,Canvas 是一個強大的繪圖技術(shù),可以實現(xiàn)各種有趣的交互效果和動態(tài)圖形。并且分享20個優(yōu)秀的畫布 Canvas 開源項目,讓大家提供開發(fā)靈感和思路,以便更好地探索并應(yīng)用 Canvas 技術(shù)。喜歡的粉絲們點個贊、先收藏再轉(zhuǎn)發(fā)分享給身邊更多的朋友,最后加個關(guān)注。 全文大綱
lucky-canvas官網(wǎng):https://100px.net/ Github:https://github.com/buuing/lucky-canvas 基于 TS + Canvas 開發(fā)的【大轉(zhuǎn)盤 / 九宮格 / 老虎機】抽獎插件, 一套源碼適配多端框架 JS / Vue / React / Taro / UniApp / 微信小程序等, 獎品 / 文字 / 圖片 / 顏色 / 按鈕均可配置,支持同步 / 異步抽獎, 概率前 / 后端可控, 自動根據(jù) dpr 調(diào)整清晰度適配移動端。 Excalidraw官網(wǎng):https://excalidraw.com/ Github:https://github.com/excalidraw/excalidraw Excalidraw 是一個開源的在線白板工具,主要用于創(chuàng)建簡單直觀的圖形和草圖,支持共享和協(xié)作。 特點 以下是 Excalidraw 的主要特點:
Excalidraw編輯器(npm包)支持:
fireworks-js官網(wǎng):https://fireworks.js.org/ Github:https://github.com/crashmax-dev/fireworks-js fireworks-js 是一個基于 Canvas 的動畫庫,用于在網(wǎng)頁上制作煙花特效。該庫的特點如下:
該項目提供了多種框架的實現(xiàn): canvas-editor在線演示:https://hufe.club/canvas-editor/ Github:https://github.com/Hufe921/canvas-editor canvas-editor 是一個基于 canvas/svg 的富文本編輯器,類似 word。其具有以下特點:
Luckysheet官網(wǎng):https://dream-num.github.io/LuckysheetDocs/ Github:https://github.com/dream-num/Luckysheet Luckysheet 是一個純前端基于 Canvas 的類似 excel 的在線表格,功能強大、配置簡單、完全開源。其具有以下功能:
canvas-confetti官網(wǎng):https://www.kirilv.com/canvas-confetti/ Github:https://github.com/catdad/canvas-confetti canvas-confetti 是一個基于 Canvas 的庫,用于在 Web 頁面中實現(xiàn)炫酷的彩色紙屑動畫效果。它實現(xiàn)了高性能、流暢的紙屑動畫效果,同時兼容各種現(xiàn)代瀏覽器。提供了許多可自定義的選項,如紙屑顏色、形狀、數(shù)量、速度、角度、發(fā)射器位置等,可以輕松實現(xiàn)不同的紙屑效果。并支持多種觸發(fā)方式,如點擊按鈕、滾動頁面、定時觸發(fā)等,可根據(jù)需求進行定制。 x-spreadsheet官網(wǎng):https://myliang.github.io/x-spreadsheet/ Github:https://github.com/myliang/x-spreadsheet x-spreadsheet 是一個基于 Web(es6) canvas 構(gòu)建的輕量級 Excel 開發(fā)庫。其具有以下特點:
QRCanvas官網(wǎng):https://gera2ld.github.io/qrcanvas/ Github:https://github.com/gera2ld/qrcanvas QRCanvas 是一個基于 canvas 的 Javascript 二維碼生成工具。其具有以下特點:
Signature Pad官網(wǎng):http://szimek.github.io/signature_pad/ Github:https://github.com/szimek/signature_pad Signature Pad 是一個基于 Canvas 實現(xiàn)的簽名庫,用于繪制簽名。它可以在所有現(xiàn)代桌面和移動瀏覽器中使用,不依賴于任何外部庫。Signature Pad提供了許多可自定義的選項,如筆畫顏色、粗細、背景色、畫布大小、簽名格式等,可以輕松實現(xiàn)不同的簽名風(fēng)格和功能。 Rough.js官網(wǎng):https://roughjs.com/ Github:https://github.com/rough-stuff/rough Rough.js 是一個輕量級的(大約 8k),基于 Canvas 的可以繪制出粗略的手繪風(fēng)格的圖形庫。該庫提供繪制線條、曲線、弧線、多邊形、圓形和橢圓的基礎(chǔ)能力,同時支持繪制 SVG 路徑。除此之外,Rough.js 還提供了大量的可自定義選項,可以調(diào)整線寬、線條顏色、填充顏色、字體樣式、背景顏色等,以使圖形更加個性化。 Fabric.js官網(wǎng):http://fabricjs.com/ Github:https://github.com/fabricjs/fabric.js Fabric.js 是一個強大且簡單的Javascript HTML5 Canvas庫。 Canvas提供一個好的畫布能力, 但是Api不夠友好。繪制簡單圖形其實還可以, 不過做一些復(fù)雜的圖形繪制, 編寫一些復(fù)雜的效果,就不是那么方便了。Fabric.js就是為此而開發(fā),它主要用對象的方式去編寫代碼。 Fabric.js能做的事情
它提供了靈活豐富的Api和可配置化參數(shù)輕松實現(xiàn)復(fù)雜的效果,該開源庫已被許多開發(fā)者用于項目實踐中,廣受好評。 uCharts官網(wǎng):https://www.ucharts.cn/v2/#/ Gitee:https://gitee.com/uCharts/uCharts uCharts是一款高性能的前端應(yīng)用圖表庫,開發(fā)人員編寫一套代碼,可以在Web、iOS、Android以及小程序中使用。 全端全平臺支持,開箱即用,支持PC、H5、小程序(微信/支付寶/百度/頭條/飛書/QQ/快手/釘釘/淘寶/京東)、Vue、Taro等更多支持canvas的框架,體積小巧、調(diào)用簡單方便、性能及體驗極佳。 uCharts堅持開源,遵循Apache Licence 2.0的開源協(xié)議,在項目中應(yīng)用中無需支付任何費用,即可將 uCharts 應(yīng)用到實際的生成環(huán)境中。 SpriteJS官網(wǎng):http://spritejs.com/ Gitee:https://github.com/spritejs/spritejs SpriteJS 是一款由360奇舞團開源的跨終端 canvas 繪圖框架,可以基于 canvas 快速繪制結(jié)構(gòu)化 UI、動畫和交互效果,并發(fā)布到任何擁有canvas環(huán)境的平臺上(比如瀏覽器、小程序和node)。 我們知道,canvas API可以很靈活地繪制各種矢量圖形到畫布上,但是 canvas API 本身比較低級,比如我們要在畫布中央繪制一個帶有圓角的紅色矩形,使用 canvas 原生的 API,需要這樣:
如果實現(xiàn)相同的效果,使用 SpriteJS 是這樣寫:
Sprite 為圖形創(chuàng)建類似于 DOM 的對象模型,因此我們可以像創(chuàng)建 DOM 元素一樣,創(chuàng)建 Sprite 元素,并將它們 append 到 layer 上,從而將元素呈現(xiàn)到畫布上。SpriteJS 有如下特點:
oCanvas官網(wǎng):http://ocanvas.org/ Gitee:https://github.com/koggdal/ocanvas oCanvas是一個Javascript庫,旨在簡化HTML5 Canvas的開發(fā)。不用處理像素,而是處理對象。它非常簡單明了。請看一下這些例子,看看它有多容易。 oCanvas通過在原生像素繪制方法和創(chuàng)建并添加到畫布中的對象之間建立橋梁,使畫布開發(fā)更容易理解和執(zhí)行?,F(xiàn)在可以非常容易地創(chuàng)建對象、更改這些對象的屬性并向其添加事件,而一切都很正常,因為oCanvas可以為您處理背景內(nèi)容。 jCanvas官網(wǎng):https://projects.calebevans.me/jcanvas/ Gitee:https://github.com/caleb531/jcanvas <canvas>元素是HTML5之外的一個新元素。它允許您在一個名為畫布的空白元素上繪制形狀、路徑、圖像和其他圖形。 創(chuàng)建畫布 在畫布上繪制之前,您需要創(chuàng)建一個。 <canvas width=“300”height=“150”></canvas> 當然,畫布可以是您想要的任何寬度/高度。您可能還希望為畫布提供一個ID(以供將來參考)。 附帶說明一下,您無法通過CSS準確設(shè)置畫布的寬度和高度;您只能通過canvas元素的width和height屬性來執(zhí)行此操作。 導(dǎo)入jCanvas 您還需要以某種方式將jCanvas添加到頁面中(通常使用<script>元素即可)。 <script src=“jcanvas.min.js”></script> RGraph官網(wǎng):https://www.rgraph.net/ Gitee:https://github.com/heyesr/rgraph RGraph是一個使用HTML5 Canvas標簽實現(xiàn)的圖表制作Library。利用該Library生成的Chart具有可交互性,當鼠標點擊或移過時會顯示相應(yīng)的信息,可以動態(tài)加載Chart或?qū)μ厥恻c進行縮放。 Two.js官網(wǎng):https://two.js.org/ Gitee:https://github.com/jonobr1/two.js Two.js 是面向現(xiàn)代 Web 瀏覽器的一個二維繪圖 API。Two.js 可以用于多個場合:SVG,Canvas 和 WebGL,旨在使平面形狀和動畫的創(chuàng)建更方便,更簡潔。 Paper.js官網(wǎng):http://paperjs.org/ Gitee:http://github.com/paperjs/paper.js Paper.js是一款開源的矢量圖形腳本框架,基于 HTML5 Canvas 開發(fā),提供清晰的場景圖、DOM和大量強大的功能用來創(chuàng)建各種向量圖和貝塞爾曲線。 EaselJS官網(wǎng):https://createjs.com/easeljs Gitee:https://github.com/createjs EaselJS 是一個封裝了 HTML5 畫布(Canvas) 元素的 Javascript 庫。 Pixi.js官網(wǎng):https://pixijs.com/ Gitee:https://github.com/pixijs/pixijs Pixi.js 是一個 2D webGL 渲染器,提供無縫 Canvas 回退,支持主流瀏覽器,包括桌面和移動。 最后一臺電腦,一個鍵盤,盡情揮灑智慧的人生; 幾行數(shù)字,幾個字母,認真編寫生活的美好; 一個靈感,一段程序,推動科技進步,促進社會發(fā)展。 該文章在 2023/6/8 15:38:34 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |