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 ...
随机推荐
- Glib程序使用Valgrind查找内存泄露
G_DEBUG=gc-friendly G_SLICE=always-malloc //glib有缓存 故需使用 上述两条设置环境变量 G_SLICE和G_DEBUG排除由内存分配机制带来的 ...
- Oracle EBS-SQL (AR-2):检查应收收款核销额
SELECT cust.customer_number, cust.customer_name, cash.receipt_number, gcc.segment1 || '.' ...
- 项目代码摘抄,dot的用法之1
function searchTags() { var list = $('#tags-list-select option:selected').val(); console.log(list); ...
- 自己定义View常处理的回调函数
onFinishInflate() 当View中全部的子控件均被映射成xml后触发 onMeasure(int, int) 确定全部子元素的大小 onLayout(boolean, int, int, ...
- mysql基础示例
创建数据库.创建表等: //php中按天创建表 $sql = "create database if not exists ".$db_name; $date_time_array ...
- JavaScript之<script>标签简介
向html页面中插入JavaScrpt的主要方法,就是使用<script>元素,下面是Html 4.01为<script>定义的6个属性. 1.async:可选表示应该立即下载 ...
- 根据输出设置select的被选中值
$("#startupStatus").find("option").map(function(i) { if ($('#st-status').val() = ...
- javascript 的加载方式
本文总结一下浏览器在 javascript 的加载方式. 关键词:异步加载(async loading),延迟加载(lazy loading),延迟执行(lazy execution),async 属 ...
- iis 配置php
1.CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上. CGI可以用任何一种语 ...
- oracle默认的hr用户使用脚本安装
1 解压到%ORACLE_HOME%/demo/schema/human_resources/目录下 2 在sys或system用户下运行hr_main.sql脚本(运行命令:@%ORACLE_HOM ...