Raphael的transform用法

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<!DOCTYPE html>
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Title</title>
<script type="text/javascript" src="js/jquery-1.11.1.js"></script>
<script type="text/javascript" src="js/raphael.js"></script>
<script type="text/javascript" src="js/index007.js"></script>
</head>
<body>
<div id="container"></div>
</body>
</html>
$(function() {
    initRaphael();
});
function initRaphael(e) {
    var paper = Raphael(0,0,300,300);
    var r1 = paper.rect(20,20,80,40).attr(‘fill‘,‘red‘);
    var r2 = paper.rect(100,20,80,40).attr(‘fill‘,‘blue‘);
    var r3 = paper.rect(180,20,80,40).attr(‘fill‘,‘green‘);
    // 以自己的中心为旋转点进行旋转45度
    r2.attr(‘transform‘,‘R45‘);
    // 以140,60为旋转点进行旋转90度
    r3.attr(‘transform‘,‘R90,140,60‘);
    // 移动至50,60点
    r1.attr(‘transform‘,‘T50,60‘);
    // 再移动一次,结果不会累加,只会是下面的结果覆盖上面的结果;
    // 而且变换的结果是transform="matrix(1,0,0,1,100,60)",把变换修订为变换矩阵;
    r1.attr(‘transform‘,‘T100,60‘);
    // transform不影响原来的属性值,这个x还是20
    console.log(r1.attr(‘x‘));
    // s表示放大
    r2.attr(‘transform‘,‘S0.8,0.5‘);
    // 这样就把所有的transform清空了
//    r1.attr(‘transform‘,‘‘);
    // 输出<rect x="20" y="20" width="80" height="40" rx="0" ry="0" fill="#ff0000" stroke="#000" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);" transform="matrix(1,0,0,1,0,0)"></rect>
    console.log(r1.node);
}
时间: 2024-10-02 11:20:12

Raphael的transform用法的相关文章

UIView-(frame,center,bounds,tag,transform)用法

frame: 表示控件的位置和尺寸(以父控件的左上角为坐标原点(0,0)) 可以调整控件的大小和位置 不能直接给frame的属性进行赋值_btn.frame.origin.y -=50是错误的,正确的做法应该如下图. 1 CGRect frame = _btn.frame; 2 frame.origin.y -= 50; 3 _btn.frame = frame; center: 表示控件的中点(以父控件的左上角为坐标原点) 可以改变控件的位置 不能直接给frame的属性进行赋值_btn.cen

css3动画2(transform用法)

1.直接写在样式里,比如一个小箭头,transform:rotate(135deg)即可 2.写动画过程,@keyframes和transform和animation组合起来用 写在@keyframes minify{ 0%{ transform:scale(1); -webkit-transform(1); } 100%{ left:300px; top:300px; transform:scale(0.3); -webkit-transform(0.3); } }里,再在样式里写animat

U3D Transform用法

最近在学习unity3d,下面对Transform类做一个小结 一.常用属性和方法 1.1 常用属性: 用代码展示一下上面的一些属性,值得注意的是myCube是mySphere的父物体 using UnityEngine; public class test : MonoBehaviour { GameObject myCube; GameObject mySphere; void Start() { myCube = GameObject.Find("Cube"); mySphere

raphael入门到精通---入门篇之总览

什么是Raphael raphael.js是一小巧的javascript库,它可以在web上画矢量图简化你的工作,如果你想创建你指定的图表,图形区域或者可移动的组件,那么就使用raphael吧 话不多说,开始我们的学习吧!!!!!!! 一个小栗子 1 <html> 2 <head></head> 3 <script type="text/javascript" src="raphael-min.js"></scr

STL学习笔记(变动性算法)

本节描述的算法会变动区间内的元素内容.有两种方法可以变动元素内容: 1.运用迭代器遍历序列的过程中,直接加以变动 2.将元素从源区间赋值到目标区间的过程中加以变动 复制(copy)元素 OutputIterator copy(InputIterator sourceBeg, InputIterator sourceEnd, OutputIterator destBeg) BiderectionalIterator copy_backward(BidirectionalIterator sourc

交叉表、行列转换和交叉查询经典

交叉表.行列转换和交叉查询经典分类: SqlServer 2007-12-05 16:01 6776人阅读 评论(1) 收藏 举报sqlsqlserverinsertnull产品sql server交叉表.行列转换和交叉查询经典一.什么是交叉表“交叉表”对象是一个网格,用来根据指定的条件返回值.数据显示在压缩行和列中.这种格式易于比较数据并辨别其趋势.它由三个元素组成: 行列摘要字段“交叉表”中的行沿水平方向延伸(从一侧到另一侧).在上面的示例中,“手套”(Gloves) 是一行.“交叉表”中的

LeetCode 之 Valid Palindrome

[问题描述] Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases. For example: "A man, a plan, a canal: Panama" is a palindrome. "race a car" is not a palindrome. Note: Have you consid

CSS布局方案

居中布局 水平居中 1)使用inline-block+text-align 原理:先将子框由块级元素改变为行内块元素,再通过设置行内块元素居中以达到水平居中. 用法:对子框设置display:inline-block,对父框设置text-align:center. <div class="parent"> <div class="child">DEMO</div> </div> .child{ display: inl

Demo00

Demo00 std::transform在指定的范围内应用于给定的操作,并将结果存储在指定的另一个范围内.要使用std::transform函数需要包含头文件. 以下是std::transform的两个声明,一个是对应于一元操作,一个是对应于二元操作: template <class InputIterator, class OutputIterator, class UnaryOperation> OutputIterator transform (InputIterator first1