`
lib
  • 浏览: 135687 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Raphael学习笔记(1)--简介

阅读更多

Raphael是一个JavaScript类库,用来在web上绘制矢量图。Raphael通过判断浏览器的不同,创建svg或vml对象,从而达到跨浏览器的效果。【svg简介svg入门教程vml简介vml入门教程

这意味着,无论是svg还是vml对象,都是一种DOM对象,所以我们可以为它们绑定事件或者修改它们。

Raphael支持用户自定义的扩展,我们可以在此之上扩展自己的组件。例如:gRaphael就是基于raphael创建的图形类库。

Raphael支持的浏览器:Firefox 3.0+, Safari 3.0+, Chrome 5.0+, Opera 9.5+ and Internet Explorer 6.0+

使用Raphael很简单:创建画布,绘制图形,设置样式。代码如下:

 

// 创建一个320 × 200,左上角距离窗口(x=10,y= 50)的画布
var paper = new Raphael(10, 50, 320, 200);

//创建一个圆,圆心的坐标为(x = 50, y = 40), 半径为10。
var circle = paper.circle(50, 40, 10);

// 给圆填充颜色为: red (#f00)
circle.attr("fill", "#f00");

// 给圆设置边框为: white(#fff)
circle.attr("stroke", "#fff");

 

这只是一个非常简单的例子,展示了raphael的使用。如果以前接触过svg、vml或者canvas,那么raphael上手很容易。raphael支持链式写法(类似于JQuery),但是,需要注意一点,new出来的Raphael返回的是Paper对象,通过Paper创建的图形返回的是Element对象,这就要求我们要熟悉哪些对象包含哪些方法,否则在链式书写的过程中会出现错误。

Raphael的创建有很多种,除了上面的那种之外,还有以下2种:

 

//第一种:
//element:DOM对象或者DOM元素的id
//width:宽度
//height:高度
//callback:上下文创建Paper时,执行的函数
var raphael = new Raphael('raphael',400,400);
var raphael = new Raphael(document.getElementById('raphael'),400,400);

//第二种
//array:[element,width,height,{property:value,<attribute>}]
//    或者[x,y,width,height,{property:value,<attribute>}]
//callback:上下文创建Paper时,执行的函数
var raphael = Raphael(["raphael", 320, 200, {
    type: "rect",
    x: 10,
    y: 10,
    width: 25,
    height: 25,
    stroke: "#f00"
}, {
    type: "text",
    x: 30,
    y: 40,
    text: "Dump"
}]);
分享到:
评论
1 楼 ysw909 2015-09-23  
你好 请问一下 能画大卫三角形么
感觉不太好画,坐标点不好找

相关推荐

    Raphael学习笔记

    根据提供的文件信息,可以看出这是一份关于Raphael JavaScript库的学习笔记。Raphael 是一个非常强大的JavaScript库,用于在Web浏览器中绘制矢量图形。它基于SVG(可缩放矢量图形)标准,并提供了丰富的API来简化...

    raphael-min.js

    raphael-min.js

    Raphael-Radar-master

    《Raphael-Radar-master:基于Raphael.js的雷达图实现详解》 Raphael-Radar-master 是一个开源项目,源自GitHub仓库Empact/Raphael-Radar,它主要提供了使用Raphael.js库来创建雷达图(也称为蜘蛛图或网络图)的...

    raphael-uncompressed.js

    raphael-uncompressed.jsraphael-uncompressed.jsraphael-uncompressed.jsraphael-uncompressed.jsraphael-uncompressed.jsraphael-uncompressed.js

    raphael-min_js_

    Raphaël的引入非常简单,只需在HTML中包含`raphael-min.js`这个压缩文件即可。该文件中包含了Raphaël库的所有功能,压缩后的小体积使得它在网页加载时不会造成太大负担。 使用Raphaël的第一步是创建一个绘图区域...

    raphaeljs_starter

    本书由Packt Publishing出版,首次出版于2013年,ISBN编号为978-1-78216-985-7。 ### 关键知识点: #### RaphaelJS简介 RaphaelJS是一种基于JavaScript的开源矢量图形库,它能够用于在现代浏览器中创建复杂的矢量...

    raphael-svg-import-classic:将SVG文件导入Raphael

    当原始raphael-svg-import达到0.0.3时,引入了一个重大的向后不兼容更改。 它没有解析SVG文档,而是使用正则表达式。 由于以下几个原因,这是不可取的: 使用正则表达式解析XML。 重建浏览器可以本地执行的操作。 ...

    前端项目-raphael.zip

    **学习和使用 Raphael:** 1. **官方文档**:开始使用 Raphael,首先要熟悉其官方文档,了解各种图形对象和方法。 2. **示例和教程**:网上有许多示例代码和教程,通过实践可以帮助快速掌握。 3. **社区支持**:...

    Raphael.JSON Raphael.Export Raphael.FreeTransform raphael.serialize

    1. **Raphael.JSON** Raphael.JSON是Raphael库的一个扩展,允许用户将Raphael图形序列化为JSON格式。这种功能非常实用,因为JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。通过将...

    raphael-scala-js:Raphael.js的Scala.js绑定

    Raphael-Scala-js Raphael.js的Scala.js绑定 要将Raphael-Scala-js添加到您的Scala.js项目中,请将其包含在build.sbt中 resolvers + = " Sonatype snapshots " at " ...

    Raphael 参考文档《Learning Raphael JS Vector Graphics》

    - 压缩包中的`[Packt Publishing] Learning Raphael JS Vector Graphics.pdf`是一本详细的学习指南,包含了丰富的示例和教程,可以帮助你深入理解和掌握Raphael的用法。 - `demos`目录下的文件提供了实际的代码...

    device_xiaomi_raphael:专有文件来自LA.UM.9.1.r1-09100-SM​​xxx0.0,固定的Blob来自raphael-user-11-RKQ1.200826.002-21.3.17-release-keys

    版权(C)2020 YAAP小米Mi 9T Pro / Redmi K20 Pro的设备配置小米Mi 9T Pro / Redmi K20 Pro(代号为“ raphael” )是小米的高端智能手机。 它于2019年8月宣布并发布。设备规格基本的规格表片上系统高通SDM855金鱼...

    raphael中文帮助文档(API).chm

    raphael中文帮助文档(API)chm文档,因为在网上没有找到好的离线版的,都是在线的,所以自己根据在线的生成了一个chm帮助文档,下载了,绝对不会让你失望。

    react-raphael-webpack-es6:使用React,Raphael.js,Webpack和ES6进行项目设置

    react-raphael-webpack-es6 与React,Raphael.js,Webpak和ES6一起整理了项目设置。 目的是将Raphael.js与React结合使用,看看它是好还是完全怪异。

    raphael.js绘制流程图

    1. **创建Raphaël画布**:使用`Raphael('container_id', width, height)`创建一个画布,其中`container_id`是HTML元素的ID,`width`和`height`是画布的尺寸。 2. **定义图形对象**:Raphaël提供了一系列的函数来...

    raphael

    raphael

    raphael 1.5.2

    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饼图柱状图

    var r = Raphael(10, 50, 640, 480); // 创建中心坐标为(320, 240)的饼图,半径为100,数据为[55, 20, 13, 32, 5, 1, 2, 10]的饼图 pie = r.piechart(320, 240, 100, [65, 30, 23, 32, 5, 1, 2, 20], { ...

    0001-Raphael-Shopping-Cart-Vanilla-Challenge:Carrinho de Compras em Vanilla Javascript

    在这个“Raphael-Shopping-Cart-Vanilla-Challenge”中,学习者不仅能提升JavaScript基础,还能增强对前端开发中用户交互和数据管理的理解。通过实践,开发者能够掌握纯JavaScript实现复杂功能的能力,这对未来的...

    web设计器-设计流程图[raphael]

    1. **基本图形对象**:Raphael提供了一系列的基本图形对象,如圆形、矩形、线段等,这些都是构建流程图的基础。通过调用对应的函数,可以创建这些图形,并对其进行填充、描边、变换等操作。 2. **事件处理**:...

Global site tag (gtag.js) - Google Analytics