Raphaël

来自站长百科
跳转至: 导航、​ 搜索

Raphaël是一个小型的 JavaScript 库,用来简化在页面上显示矢量图的工作。你可以用它在页面上绘制各种图表、并进行图片的剪切、旋转等操作。

简介[ ]

Raphaël使用SVG的W3C建议书并且以VML为基础创建图形。这意味着每一个创建的图形对象同时也是一个DOM对象,所以你可以将其与JavaScript事件处理程序相连接并且修改它们。Raphaël的目标是提供一个适配器,可以使绘制矢量艺术变得简单并兼容不同的浏览器

Raphaël目前支持Firefox 3.0 +,Safari 3.0以上,Chrome 5.0 +,Opera 9.5以上及Internet Explorer 6.0 +.

使用[ ]

Raphaël的使用非常简单。下载并包含raphael.js到您的HTML页面,然后简单的使用它即可:

// Creates canvas 320 × 200 at 10, 50
var paper = Raphael(10, 50, 320, 200);

// Creates circle at x = 50, y = 40, with radius 10
var circle = paper.circle(50, 40, 10);
// Sets the fill attribute of the circle to red (#f00)
circle.attr("fill", "#f00");

// Sets the stroke attribute of the circle to white
circle.attr("stroke", "#fff");

画布[ ]

首先必须创建一个画布,因为所有的将来将被调用绘制的方法将被绑定到这个画布上.

参数:

  • container (HTML元素 或者 string型)
  • width (number型)
  • height (number型)

或者:

  • x (number)
  • y (number)
  • width (number)
  • height (number)

用法

// Each of the following examples create a canvas that is 320px wide by 200px high
// Canvas is created at the viewport’s 10,50 coordinate
var paper = Raphael(10, 50, 320, 200);
// Canvas is created at the top left corner of the #notepad element
// (or its top right corner in dir="rtl" elements)
var paper = Raphael(document.getElementById("notepad"), 320, 200);
// Same as above
var paper = Raphael("notepad", 320, 200);
// Image dump
var set = Raphael(["notepad", 320, 200, {
    type: "rect",
    x: 10,
    y: 10,
    width: 25,
    height: 25,
    stroke: "#f00"
}, {
    type: "text",
    x: 30,
    y: 40,
    text: "Dump"
}]);

绘制圆[ ]

Circle.jpg

参数

  • x (number) X坐标中心
  • y (number) Y坐标中心
  • r (number) 半径

用法

var c = paper.circle(50, 50, 40);

绘制矩形[ ]

Rectangle.jpg

参数

  • x (number) X轴左上角坐标
  • y (number) Y轴左上角坐标
  • width (number)
  • height (number)
  • r (number) 圆角半径[可选],默认为0

用法

// regular rectangle
var c = paper.rect(10, 10, 50, 50);
// rectangle with rounded corners
var c = paper.rect(40, 40, 50, 50, 10);

绘制椭圆形[ ]

Ellipse.jpg

参数

  • x (number) X坐标中心
  • y (number) y坐标中心
  • rx (number) 水平半径
  • ry (number) 垂直半径

用法

var c = paper.ellipse(50, 50, 40, 20

相关条目[ ]

参考来源[ ]