Rough.js 基于 Canvas 的手绘风格图形库

程序名称:Rough.js

授权协议: MIT

操作系统: 跨平台

开发语言: JavaScript

Rough.js 介绍

Rough.js 是一个轻量级的(大约8k),基于 Canvas
的可以绘制出粗略的手绘风格的图形库。该库提供绘制线条、曲线、弧线、多边形、圆形和椭圆的基础能力,同时支持绘制 SVG 路径。

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' });

Rough.js 官网

http://roughjs.com/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Acapela TTS 是一个为 iPhone 和 iPad 开发的 TTS 引擎。
二维码(QR Code)扫描静态库,扫描效率较高。
RegexKitLite 是一个轻量级的 Objective-C 的正则表达式库,支持 Mac OS X 和 iOS,使用ICU 库开发。
一款基于ASIHttpReques开源的仿迅雷多线程断点续传功能的客户端,内置了百度音乐盒、土豆视频下载,新手可以学习ASIHttpRequest网络请求下载、JSON解析等操作。
实现动态检测网络(wifi)状况,不需要用户手动刷新,便可通知用户网络状态的变化。支持ARC。
使用iphoneSDK官方NSXMLParserDelegate做的简单xml解析,附带详细注释以及使用到的方法的详细解释,非常适合新手参考。
GH-Unit 是一个基于Object C的测试框架,支持Mac OSX 10.5和iOS 3.0以上版本。它具有以下特点:
JSONKit 是用 Objective-C 实现的一个高性能的 JSON 解析和生成库,支持 iOS。 下面是性能比较:
TouchXML 是使用 Objective-C 编写的 XML 解析器,适合在 iOS 和 Mac 平台下使用。
每个操作系统都有对应的规则和标准,比如ios就是,在ios上,是无法使用动态链接库的,而只能使用静态链接库。
ObjectiveResource 是将 Rails 的 ActiveResource 框架移植到 Objective-C 的项目。其主要目的是让
TBXML是一个用于iOS上的解析速度非常快的轻量级XML解析库。提供了非常简洁的接口,使用起来很简单。
这是一套Google开发的DOM方式XML解析类库,支持读取和修改XML文档,支持XPath方式查询。
WhirlyGlobe 是一个在 iPad 和 iPhone 显示三维的地球的开发包。
ShareKit 是iPhone中一键分享文字,图片,链接,文件到Facebook, twitter, delicious, tumblr, google
实现 splash画面(launch image)到程序界面(root view controller)之间的翻页过渡动画效果。
iOS6推出的一个新特性是Passbook(关于Passbook,请看:http://www.apple.com/ios/ios6/#passbook
这是 iPhone 上实现 TTS 功能的开发包,基于 CMU’s Festival Lite ——FLite 引擎开发。
一个十分简单易用、界面十分简洁的日历代码效果,月份切换还有很不错的动画效果。
实现动态版本检查功能。用户打开app之后,进行app的版本更新检查。如果检查到有新的版本,则弹出对话框提醒用户下载新版本。支持ARC或者non-ARC。