raphael入门到精通---入门篇之总览
什么是Raphael
raphael.js是一小巧的javascript库,它可以在web上画矢量图简化你的工作,如果你想创建你指定的图表,图形区域或者可移动的组件,那么就使用raphael吧
话不多说,开始我们的学习吧!!!!!!!
一个小栗子
<html>
<head></head>
<script type="text/javascript" src="raphael-min.js"></script>
<body>
<div id="raphael"></div>
<script type="text/javascript">
var paper = Raphael(10, 50, 320, 200);
var circle = paper.circle(50, 40, 10);
circle.attr("fill", "#f00");
circle.attr("stroke", "#fff");
</script>
</body>
</html>
这是官网的一个demo,第七行Raphael是构造函数(具体构造参数将在后面章节介绍),它返回一个paper对象,第8行通过paper对象实例调用方法画圈圈,而第9,10行给圈圈增加参数,哈哈,效果粗来了吧
Raphael就是我们遇到的第一个对象,也是raphael.js最大的一个对象,它有几种构造方式,全部返回paper对象(具体构造方式请查阅API文档)
返回的paper对象实例我们就可以通过它来画圆(circle)、椭圆(eclipse)、图片(image)、方形(rect)、文本(text)、矢量图(path)
生成完图形之后就是给图形元素增加各种属性(attr)
所以总结下来raphael的开发步骤
- 通过Raphael获得画布(paper)
- 通过画布(paper)画图
- 为你的图增加动画以及各项属性
实例练习
<html>
<head></head>
<script type="text/javascript" src="raphael-min.js"></script>
<body>
<div id="raphael"></div>
<script type="text/javascript">
var paper = Raphael("raphael", 1000, 1000);
//画圆
var circle = paper.circle(100, 100, 10);
circle.attr("fill", "#f00");
circle.attr("stroke", "#fff");
//画椭圆
var ellipse = paper.ellipse(200, 100, 40, 20);
ellipse.attr("fill", "#ccc");
ellipse.attr("stroke", "#000");
//贴图 图片请自带
var image = paper.image("apple.jpg", 300, 100, 80, 80);
//画路径 从10.10 移动到90.90
var path = paper.path("M400 100L500 300");
// 正常的方形
var rect1 = paper.rect(500, 100, 50, 50);
// 带10弧度的方形
var rect2 = paper.rect(600, 100, 50, 50, 10); </script>
</body>
</html>
总结
本章介绍了raphael的基本用法,下一章节将介绍raphael的属性!!!敬请期待
文笔不好欢迎拍砖
raphael入门到精通---入门篇之总览的更多相关文章
- Java入门到精通——基础篇之多线程实现简单的PV操作的进程同步
Java入门到精通——基础篇之多线程实现简单的PV操作的进程同步 一.概述 PV操作是对信号量进行的操作. 进程同步是指在并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消 ...
- SaltStack 入门到精通第二篇:Salt-master配置文件详解
SaltStack 入门到精通第二篇:Salt-master配置文件详解 转自(coocla):http://blog.coocla.org/301.html 原本想要重新翻译salt-mas ...
- SaltStack入门到精通第一篇:安装SaltStack
SaltStack入门到精通第一篇:安装SaltStack 作者:纳米龙 发布日期:2014-06-09 17:50:36 实际环境的设定: 系统环境: centos6 或centos5 实验机 ...
- Promise入门到精通(初级篇)-附代码详细讲解
Promise入门到精通(初级篇)-附代码详细讲解 Promise,中文翻译为承诺,约定,契约,从字面意思来看,这应该是类似某种协议,规定了什么事件发生的条件和触发方法. Pr ...
- HR问了一句DB是啥?SQL是啥?DB是Database数据库,SQL是数据库语言! 然后呢? 数据库从入门到精通--入门必看!
写在前面 本文的写作知识体系来源于我的数据库老师SDAU张承明,部分知识来自于网络,我呢对知识进行了细化和添加了自己的一些看法,并且加入了一些实例帮助理解,本文不是面向SQL高手写的,可以看作是数据库 ...
- Jmeter(三十四) - 从入门到精通进阶篇 - 参数化(详解教程)
1.简介 前边三十多篇文章主要介绍的是Jmeter的一些操作和基础知识,算是一些初级入门的知识点,从这一篇开始我们就来学习Jmeter比较高级的操作和深入的知识点了.今天这一篇主要是讲参数化,其实前边 ...
- Java从入门到精通——数据库篇Mongo DB 导出,导入,备份
一.概述 本篇博客为大家讲述一下Mongo DB是如何导入导出数据,还有就是备份数据的. 在下面操作的时候需要把Mongo DB的服务端打开才能操作. 二.导出. MongoDB的导 ...
- Java从入门到精通——数据库篇Mongo DB 安装启动及配置详解
一.概述 Mongo DB 下载下来以后我们应该如何去安装启动和配置才能使用Mongo DB,本篇博客就给大家讲述一下Mongo DB的安装启动及配置详解. 二.安装 1.下载Mongo DB ...
- Java入门到精通——框架篇之Spring源码分析Spring两大核心类
一.Spring核心类概述. Spring里面有两个最核心的类这是Spring实现最重要的部分. 1.DefaultListableBeanFactory 这个类位于Beans项目下的org.spri ...
随机推荐
- [问题解决] 程序部署到Linux服务器乱码
错误: 在windows下开发的eclipse项目需要用java mail发送邮件,在将整个项目部署到linux服务器之后发送的邮件出现了乱码. 发生场景: Linux服务器下的Java mail程序 ...
- Redis数据结构及相应的命令
Redis可以存储键(key)与5种不同类型值(value)之间的映射,5中不同类型的值分别为字符串(string),列表(list),散列(hash),集合(set)和有序集合(sorted set ...
- Baskets of Gold Coins
Baskets of Gold Coins Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- jQuery中$.each的用法
jQuery中$.each的用法 本文导读:jQuery中each()函数是基本上所有的框架都提供了的一个工具类函数,通过它,你可以遍历对象.数组的属性值并进行处理.jQuery提供的each方法 ...
- 1.对于.NET的初步理解和介绍
好久没写博客了,最近心情比较low,不知道为什么.很流行的一个问题叫做:如果你明天就挂了,那么你最后悔的事情将会是什么.我想了两个月,答案是不知道,无所谓.这样不好,那这个问题先放一边吧,我们开始这一 ...
- C#文件压缩
/// <summary> /// 文件压缩 /// </summary> /// <param name="filesUrl">多个文件路径& ...
- CentOS6.3下安装配置SVN(Subversion)
#检查是否安装了低版本的SVN [root@localhost ~]# rpm -qa subversion subversion--.el6.x86_64 #卸载旧版本SVN [root@local ...
- js基础参数获取
1 获取浏览器中url中的参数,会自动把问号"?"去掉 function getParamsFromHref() { //调试用 var wyl_ = window.locatio ...
- 美化 input type=file控件
大家都知道input的type=file控件默认样式是不能修改的 可以通过一个小技巧处理下 html: <a href="javascript:;" class=" ...
- APM代码学习笔记2:编译过程
make编译 所有位置的Makefile 引用的都是/mk/apm.mk target.mk 设置CONFIG_HAL_BOARD 例如linux就是HAL_BOARD_LINUX environ.m ...