国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

淺談基于Canvas的手繪風格圖形庫Rough.js

2024-08-26 00:20:33
字體:
來源:轉載
供稿:網友

前言

推薦一個基于Canvas的手繪風格圖形JS庫。

Rough.js

Rough.js是一個輕量的(大約8k),基于Canvas的可以繪制出粗略的手繪風格庫。

提供繪制線條、曲線、弧線、多邊形、圓形和橢圓的基礎能力,同時支持繪制SVG路徑。

Canvas,手繪風格圖形庫,Rough.js

Github:https://github.com/pshihn/rough

安裝

下載鏈接:https://github.com/pshihn/rough/tree/master/dist

NPM

npm install --save roughjs

使用方法

Canvas,手繪風格圖形庫,Rough.js

const rc = rough.canvas(document.getElementById('canvas'));rc.rectangle(10, 10, 200, 200); // x, y, width, height

線條和橢圓

Canvas,手繪風格圖形庫,Rough.js

rc.circle(80, 120, 50); // centerX, centerY, diameterrc.ellipse(300, 100, 150, 80); // centerX, centerY, width, heightrc.line(80, 120, 300, 100); // x1, y1, x2, y2

填充

Canvas,手繪風格圖形庫,Rough.js

rc.circle(50, 50, 80, { fill: 'red' }); // fill with red hachurerc.rectangle(120, 15, 80, 80, { fill: 'red' });rc.circle(50, 150, 80, {  fill: "rgb(10,150,10)",  fillWeight: 3 // thicker lines for hachure});rc.rectangle(220, 15, 80, 80, {  fill: 'red',  hachureAngle: 60, // angle of hachure,  hachureGap: 8});rc.rectangle(120, 105, 80, 80, {  fill: 'rgba(255,0,200,0.2)',  fillStyle: 'solid' // solid fill});

草繪風格

Canvas,手繪風格圖形庫,Rough.js

rc.rectangle(15, 15, 80, 80, { roughness: 0.5, fill: 'red' });rc.rectangle(120, 15, 80, 80, { roughness: 2.8, fill: 'blue' });rc.rectangle(220, 15, 80, 80, { bowing: 6, stroke: 'green', strokeWidth: 3 });

SVG 路徑

Canvas,手繪風格圖形庫,Rough.js

rc.path('M80 80 A 45 45, 0, 0, 0, 125 125 L 125 80 Z', { fill: 'green' });rc.path('M230 80 A 45 45, 0, 1, 0, 275 125 L 275 80 Z', { fill: 'purple' });rc.path('M80 230 A 45 45, 0, 0, 1, 125 275 L 125 230 Z', { fill: 'red' });rc.path('M230 230 A 45 45, 0, 1, 1, 275 275 L 275 230 Z', { fill: 'blue' });

簡單的SVG路徑

Canvas,手繪風格圖形庫,Rough.js

結合Web Workers

如果在網頁中有import Workly 這個Web Workers庫,RoughJS會自動將所有的操作轉移至web workers,來釋放UI主線程。這個在使用RoughJS來創建復雜繪圖(如地圖)時非常有用。詳細閱讀相關內容 。

<script src="https://cdn.jsdelivr.net/gh/pshihn/workly/dist/workly.min.js"></script><script src="../../dist/rough.min.js"></script>

Canvas,手繪風格圖形庫,Rough.js

例子

https://github.com/pshihn/rough/wiki/Examples

API及文檔

https://github.com/pshihn/rough/wiki

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到HTML教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 科技| 余江县| 遵义县| 庆阳市| 内丘县| 新丰县| 庆元县| 兴仁县| 利川市| 聂拉木县| 宁乡县| 井陉县| 平潭县| 会昌县| 九台市| 繁昌县| 张掖市| 始兴县| 宣化县| 大渡口区| 蒙阴县| 合肥市| 汶川县| 缙云县| 昌邑市| 古浪县| 临西县| 滦南县| 漳平市| 修武县| 东安县| 繁昌县| 长阳| 绥江县| 建水县| 广水市| 明水县| 仁寿县| 永平县| 申扎县| 珲春市|