raphael 实例

开始

创建画布参数说明

创建一个画布对象。

下面每个例子都会创建一个320*200大小的画布。

1
2
// 1.在视口的 (10,50) 坐标位置上创建画布
var paper = Raphael(10, 50, 320, 200);
 
1
2
// 2.在#element_id元素的原点位置创建画布
var paper = Raphael(document.getElementById("element_id"), 320, 200);
 
1
2
// 3.同上
var paper = Raphael("element_id", 320, 200);
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 4.导出图片
var set = Raphael(["element_id", 320, 200, {
    type: "rect",
    x: 10,
    y: 10,
    width: 25,
    height: 25,
    stroke: "#f00"
}, {
    type: "text",
    x: 30,
    y: 40,
    text: "Dump"
}]);
Dump

绘图

绘制圆形参数说明

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

绘制椭圆参数说明

1
var c = paper.ellipse(50, 50, 40, 20);
 

绘制矩形参数说明

1
2
// 标准矩形
var c = paper.rect(10, 10, 50, 50);
 
1
2
// 圆角矩形
var c = paper.rect(40, 40, 50, 50, 10);
 

绘制路径参数说明

绘制箭头的例子见改变属性

1
2
3
// 绘制直线
// 移动到(10,10),绘制直线到(90,90)
var c = paper.path("M10 10L90 90");
 
1
2
// 绘制2次贝赛尔曲线
var c = paper.path("M20,120 Q100,10 180,90");
 
1
2
// 绘制2次贝赛尔曲线,平滑连接
var c = paper.path("M20,120 Q100,10 180,90 T280,70");
 
1
2
// 绘制3次贝赛尔曲线
var c = paper.path("M20,20 C50,80 150,160 180,40");
 
1
2
// 绘制3次贝赛尔曲线,平滑连接
var c = paper.path("M20,20 C50,80 150,160 180,40 S320,200 100,190");
 

绘制文本参数说明

1
var t = paper.text(50, 50, "Raphaël\nkicks\nbutt!");
Raphaëlkicksbutt!

嵌入图像参数说明

1
var c = paper.image("apple.png", 10, 10, 80, 80);

Raphael入门实例:绘图的更多相关文章

  1. Raphael入门实例:动画与箭头

    raphael 实例 动画 隐藏和显示参数说明 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 var c = paper.circle(50, 50, 40);   function ...

  2. GEF入门实例_总结_06_为编辑器添加内容

    一.前言 本文承接上一节:GEF入门实例_总结_05_显示一个空白编辑器 在上一节我们为我们的插件添加了一个空白的编辑器,这一节我们将为此编辑器添加内容. 二.GEF的MVC模式 在此只简单总结一下, ...

  3. GEF入门实例_总结_04_Eclipse插件启动流程分析

    一.前言 本文承接上一节:GEF入门实例_总结_03_显示菜单和工具栏 注意到app目录下的6个类文件. 这6个文件对RCP应用程序而言非常重要,可能我们现在对这几个文件的理解还是云里雾里,这一节我们 ...

  4. GEF入门实例_总结_03_显示菜单和工具栏

    一.前言 本文承接上一节: GEF入门实例_总结_02_新建初始RCP空项目 这一节,我们来给我们的插件加上菜单. 二.基础知识 1.action bar.menubar.coolbar   含义 a ...

  5. React 入门实例教程(转载)

    本人转载自: React 入门实例教程

  6. struts入门实例

    入门实例 1  .下载struts-2.3.16.3-all  .不摆了.看哈就会下载了. 2  . 解压  后 找到 apps 文件夹. 3.    打开后将 struts2-blank.war   ...

  7. Vue.js2.0从入门到放弃---入门实例

    最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中,在网上也搜了很多教程,按着教程来做,也总会出现这样那样的问题(坑啊,由于网上那些教程都是Vue.js 1.x版本的,现在用 ...

  8. wxPython中文教程入门实例

    这篇文章主要为大家分享下python编程中有关wxPython的中文教程,分享一些wxPython入门实例,有需要的朋友参考下     wxPython中文教程入门实例 wx.Window 是一个基类 ...

  9. Omnet++ 4.0 入门实例教程

    http://blog.sina.com.cn/s/blog_8a2bb17d01018npf.html 在网上找到的一个讲解omnet++的实例, 是4.0下面实现的. 我在4.2上试了试,可以用. ...

随机推荐

  1. 基于FPGA的信号消抖

    上一篇写了一个按键消抖,按键消抖需要一个计数器.可是有些信号是不需要这么负责的,仅仅是抖动而已.于是我在上一篇博文的基础上做了一点修改,于是有了这个信号消抖的程序 module sig_nojitte ...

  2. synchronized和vilatile

    第一个程序 public class Test06 implements Runnable{ public int a = 0; public static void main(String[] ar ...

  3. hdu 5269 ZYB loves Xor I(字典树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5269 思路分析:当lowbit(AxorB)=2p 时,表示A与B的二进制表示的0-p-1位相等,第p ...

  4. [置顶] perl脚本中defined,exists和delete关键字的用法和区别

    刚学习perl脚本的时候,喜欢频繁使用defined关键字判断一个hash中某个key是否存在,后来程序出了问题才去perl官方文档查看关于defined关键字的准确使用方法.因此,这里我把perl中 ...

  5. 《TCP/IP详细说明》读书笔记(17章)-TCP传输控制协定

    1.TCP的服务 在一个TCP连接中.仅有双方进行彼此通信. TCP通过下列方式来提供可靠性: 1)应用数据被切割成TCP觉得最适合发送的数据块. 这和UDP全然不同,应用程序产生的数据报长度保持不变 ...

  6. Java多线程之非线程安全

    在Java多线程中我会重点总结五个如下的技术点: 1.非线程安全是如何出现的 2.synchronized对象监视器为Objec时的使用 3.synchronized对象监视器为Class时的使用 4 ...

  7. UIButton 动态改变文本闪烁问题

    当动态改变(比如一秒改变一次)按钮的Title的时候发现按钮每次都要闪烁一下:解决方法如下: self.settleButton.titleLabel.text = title; [self.sett ...

  8. C#高级编程零散知识点

    1.206-实现单链表的添加和插入 207-实现单链表的其他功能和 3.209-Lambda表达式 4.301-栈的介绍和BCL中的栈 4.501-进程和线程的概念[00_12_06][2015122 ...

  9. 条款05:了解C++默默编写并调用哪些函数

    每一个class都会有一个或多个构造函数.一个析构函数.一个copy assignment操作符.这些控制着基础操作,像是产出新对象并确保它被初始化.摆脱旧对象并确保它被适当清理.以及赋予对象新值. ...

  10. Python网络编程——主机字节序和网络字节序之间的相互转换

    If you ever need to write a low-level network application, it may be necessary to handle the low-lev ...