1、路径简介
Paper.path(pathString):绘制路径;
参数含义:
pathString:描述路径的字符串;
下面详细描述一下路径字符串的内容和书写风格。
路径由2部分组成:命令和坐标。
(1)命令:单个大(小)写字母。大写字母表示绝对坐标,小写字母表示相对坐标;
(2)坐标:一个或多个数字。多个数字之间使用逗号或者空格隔开;
(3)命令和坐标之间可以有空格,也可以省略空格;
移动坐标 M(m) moveto (x y)+
结束路径 Z(z) closepath (none)
直线 L(l) lineto (x y)+
水平直线 H(h) horizontal lineto x+
竖直直线 V(v) vertical lineto y+
3次贝塞尔曲线 C(c) curveto (x1 y1 x2 y2 x y)+
平滑3次贝塞尔曲线 S(s) smooth curveto (x2 y2 x y)+
2次贝塞尔曲线 Q(q) quadratic Bézier curveto (x1 y1 x y)+
平滑2次贝塞尔曲线 T(t) smooth quadratic Bézier curveto (x y)+
椭圆曲线 A(a) elliptical arc (rx ry x-axis-rotation large-arc-flag sweep-flag x y)+
绘制光滑的2次、3次贝塞尔曲线需要注意:
(1)后一段曲线的起点必须是前一段曲线的终点;
(2)前后2段曲线必须对称;
关于贝赛尔曲线的知识,可以参考下面的文章:canvas中的贝赛尔曲线。
2、绘图实例
下面让我们看看代码的书写:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="js/raphael.js"></script>
<script type="text/javascript" src="js/jquery-1.7.2.js"></script>
<style type="text/css">
.wraper {
position: relative;
float: left;
width: 400px;
height: 400px;
margin-left: 10px;
margin-top: 10px;
border: 1px solid orange;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
var raphael = new Raphael('raphael_1',400,400);
//绘制路径(三角形)
raphael.path('M 160,100 L270,130 L200,170 z');
//绘制路径(T型)
raphael.path('M 50,190 H80 V220 H110 V250 H20 V220 H50 z');
});
</script>
</head>
<body>
<div id="raphael_1" class="wraper"></div>
</body>
</html>
实现的效果:
- 大小: 1008 Bytes
分享到:
相关推荐
raphael-min.js
刚刚开始学习这个,以后会有资料陆续传上来
资源 https://github.com/Empact/Raphael-Radar
raphael-uncompressed.jsraphael-uncompressed.jsraphael-uncompressed.jsraphael-uncompressed.jsraphael-uncompressed.jsraphael-uncompressed.js
Raphael矢量库的扩展。 它使Raphael能够导入原始SVG数据。前叉音符这是的分支。 当原始raphael-svg-import达到0.0.3时,引入了一个重大的向后不兼容更改。 它没有解析SVG文档,而是使用正则表达式。 由于以下几个...
0001-Raphael-Shopping-Cart-Vanilla-Challenge:Carrinho de Compras em Vanilla Javascript
Raphael-Scala-js Raphael.js的Scala.js绑定 要将Raphael-Scala-js添加到您的Scala.js项目中,请将其包含在build.sbt中 resolvers + = " Sonatype snapshots " at " ...
raphae图形绘制JS
web 绘图 工具,raphael.可以在网页上绘图,功能非常强大!
raphael中文帮助文档(API)chm文档,因为在网上没有找到好的离线版的,都是在线的,所以自己根据在线的生成了一个chm帮助文档,下载了,绝对不会让你失望。
react-raphael-webpack-es6 与React,Raphael.js,Webpak和ES6一起整理了项目设置。 目的是将Raphael.js与React结合使用,看看它是好还是完全怪异。
Raphaël is a small JavaScript library that should simplify your work with vector graphics on the web. If you want to create your own specific chart or image crop and rotate widget, for example, you ...
利用raphael.js进行流程图的绘制,js已封装好,可直接传入数据进行使用
Raphael.JSON Raphael.Export Raphael.FreeTransform raphael.serialize
前端项目-raphael,JavaScript Vector Library
#raphael-socket.io-express-mongoose 展示 [Node.js]( ), [Raphael.js]( ), [Socket .io]( ), [Express.js]( ), [Mongoose.js]( ) 和 [MongoDB]( ) 集成 需要 MongoDB 要正确运行 Web 应用程序,您需要在系统中...
Raphael.js PDF文档,说明Raphael.js的优点与D3的区别,以及由浅入深的范例
raphael画流程图,实现可自定义缩放的效果。raphael画流程图,实现可自定义缩放的效果。
raphael
Raphaël:跨浏览器矢量... 您可以使用: raphael.min.js (包括eve和它的最小化) raphael.js (包含eve且未缩小) raphael.no-deps.js (不包括eve它没有缩小) raphael.no-deps.min.js (不包括eve )从哪儿开始检查