您现在的位置是:网站首页> 编程资料编程资料
浅谈基于Canvas的手绘风格图形库Rough.jshtml5实现点击弹出图片功能html5 录制mp3音频支持采样率和比特率设置html5表单的required属性使用html5调用摄像头实例代码HTML5页面音频自动播放的实现方式Html5大屏数据可视化开发的实现html实现弹窗的实例HTML5来实现本地文件读取和写入的实现方法HTML 罗盘式时钟的实现HTML5简单实现添加背景音乐的几种方法
2023-10-12
339人已围观
简介 这篇文章主要介绍了浅谈基于Canvas的手绘风格图形库Rough.js的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
前言
推荐一个基于Canvas的手绘风格图形JS库。
Rough.js
Rough.js是一个轻量的(大约8k),基于Canvas的可以绘制出粗略的手绘风格库。
提供绘制线条、曲线、弧线、多边形、圆形和椭圆的基础能力,同时支持绘制SVG路径。

Github:https://github.com/pshihn/rough
安装
下载链接:https://github.com/pshihn/rough/tree/master/dist
NPM
npm install --save roughjs
使用方法

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

rc.circle(80, 120, 50); // centerX, centerY, diameter rc.ellipse(300, 100, 150, 80); // centerX, centerY, width, height rc.line(80, 120, 300, 100); // x1, y1, x2, y2
填充

rc.circle(50, 50, 80, { fill: 'red' }); // fill with red hachure rc.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 });草绘风格

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 路径

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路径

结合Web Workers
如果在网页中有import Workly 这个Web Workers库,RoughJS会自动将所有的操作转移至web workers,来释放UI主线程。这个在使用RoughJS来创建复杂绘图(如地图)时非常有用。详细阅读相关内容 。

例子
https://github.com/pshihn/rough/wiki/Examples
API及文档
https://github.com/pshihn/rough/wiki
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关内容
- 基于HTML5 WebGL的3D机房的示例html5实现点击弹出图片功能html5 录制mp3音频支持采样率和比特率设置html5表单的required属性使用html5调用摄像头实例代码HTML5页面音频自动播放的实现方式Html5大屏数据可视化开发的实现html实现弹窗的实例HTML5来实现本地文件读取和写入的实现方法HTML 罗盘式时钟的实现HTML5简单实现添加背景音乐的几种方法
- 史上最坑爹的游戏 第十关 详细图文攻略_手机游戏_游戏攻略_
- 全民英雄八管体力快速升级心得经验分享 全民英雄升级攻略_手机游戏_游戏攻略_
- 全民英雄全英雄技能升级攻略心得 英雄技能如何快速升级_手机游戏_游戏攻略_
- 全民英雄最佳主力阵容推荐 全民英雄最佳主力阵容有哪些英雄_手机游戏_游戏攻略_
- 全民英雄如何快速恢复体力 全民英雄活力获取方法总结_手机游戏_游戏攻略_
- 全民英雄烧饼修改器加速辅助攻略心得 全民英雄快速战斗方法技巧_手机游戏_游戏攻略_
- 全民英雄熊猫酒仙紫卡领取心得经验分享 全民英雄熊猫酒仙获得方法_手机游戏_游戏攻略_
- 全民英雄刷魔钻攻略心得 全民英雄魔钻获得方法总结_手机游戏_游戏攻略_
- 全民英雄灵魂戒作用属性及合成方法解析 全民英雄灵魂戒获得方法_手机游戏_游戏攻略_
