路径中的字母,大写相对于左上角绝对定位,小写相对定位  M110,95,95,110M115,100,100,115
 

pattern 类似于图片拼贴,可以把指定位置的图案用来填充

var pattern = elem.pattern(100, 100, 10, 10);

circle.attr({
     fill: pattern
});
 
当某个属性不需要任何东西的话,就填none:
element.attr({                                
      fill: "none"
 })
 
var ring = circle.use();   创建一个元素的引用,可以用attr改变属性样式,但是要改变位置就需要就要用animate之类的,改变大小要作用于被use的那个元素上
 
path元素有一个d属性,它是字符串形式,定义元素路径。通过Snap.animate去逐渐改变它,可以改变元素的形状:
var path = svg.paper.path("");
path.attr({
    d: "M" + [p1, p2, p3, p4, p1].join("L") + "Z"
});
 
clip (裁剪)定义了图像的边缘, 只有在clip(裁剪)定义的范围内,图像才显示。既可以用在一个元素上,也可以是一组(g)元素上
circle.attr({
     clip: s.rect(40, 40, 20, 20)
 });
对应clipPath元素:
<circle cx="50" cy="50" r="30" fill="#0000ff" clip-path="url('#Si36ohlde5')"></circle>
<defs>
    <clipPath id="Si36ohlde5"><rect x="40" y="40" width="20" height="20"></rect></clipPath>
</defs>
 
旋转,第一个参数为旋转的角度angel, 后面如果提供了一个坐标,那么就用这个坐标作为圆心来旋转(缺省的话默认为元素中心):
rect.transform("r" + [angle, 200, 100]);           //transform的值是由matrix,translate,rotate等组成的字符串
 
缩放,最后两个数字代表缩放的中心点,默认为元素中心:
transform: "s" + [2, 2, cx1, cy1]
 
移动,translate缩写:
transform:  "t" + [30 ,60]
 
创建遮罩层的话使用mask(也可以把放进去的对象作为alpha mask合成到背景里),用法和g差不多:
mask.add(s.rect(0, 0, "100%", "100%")).attr({fill: "#fff"});      用白色填充满SVG元素
mask.add(txt2);        这里面的元素形状决定遮罩的形状
 
渐变色,大写字母L或R表示从SVG表明偏移的绝对坐标。小写字母l或r表示应用渐变的这个元素计算的相对坐标(可以理解为百分比位置):
fill: "L(0, 0, 100, 100)#000-#f00:25-#fff"      //绝对,从(0,0)到100, 100, 从黑色到25%位置红色再到白色
r(0.5, 0.5, 0.5)#000-#fff     //r表示径向渐变,就是从中点到外,结束参数cx,cy,r以及(可选的)远离圆心的焦点fx,fy
 
给元素添加滤镜
ele.attr({
    filter: s.filter(Snap.filter.blur(10));
});
 
修改文字属性:
pie.title.attr({                              
     "#text": pieTitle
});
 
viewBox: [0, 0, 800, 600]
viewBox="x, y, width, height"       // x:左上角横坐标,y:左上角纵坐标,width:宽度,height:高度,也就是选定一个区域,然后用选定的区域铺满SVG容器
 
Snap.animate(0, 90, function(val) {
littlePie.attr({
d: "M" + [pie.cx, pie.cy] + "U" + [pie.r / 2, 90 - val, 90 + val]                      //这个U指令没查到资料,做饼状图上看到
}00);
}, 1000);

svg snap 笔记的更多相关文章

  1. svg学习笔记(一)

    SVG——可扩展适量图形,基于XML PC端:IE9+   wap端:表现良好,适合使用 基础图形: line(线段)  <line x1="25" y1="150 ...

  2. svg学习笔记(二)

    SMIL animation演示代码集锦 <svg width="1400" height="1600" xmlns="http://www.w ...

  3. svg学习笔记

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  4. 9. svg学习笔记-裁剪和蒙版

    裁剪 在svg中进行剪切,对整个svg元素而言,可以使用<svg>元素的viewbox属性,对于单个元素则可以使用<clipPath>元素.在单个图形元素上使用裁剪,可以在&l ...

  5. 8. svg学习笔记-文本

    毫无疑问,文本也是svg中组成的重要部分,在svg中,用<text>元素来创建文本,文本的使用格式如下: <text x="20" y="30" ...

  6. 7. svg学习笔记-图案和渐变

    之前,我们仅仅使用纯色来为图形填充颜色和绘制轮廓,除此之外,我们还可以使用图案和渐变来填充图形或者是绘制轮廓. 图案 图案的效果类似于,在网页中给一个元素指定背景图像,当背景图像的尺寸小于元素的尺寸的 ...

  7. 6. svg学习笔记-路径

    路径相比于多边形<polygon>元素具有更强绘图能力,<polygon>元素可以绘制任意的多边形,而路径可以绘制任意的轮廓线,是线段,曲线,圆弧的组合形式.svg中可以使用& ...

  8. 5. svg学习笔记-坐标系变换

    之前我们编写图形元素的时候,编写好了位置大小就是固定的,通过坐标系变换,可以移动缩放,旋转图形,但必须声明的是,进行变换时是图形相对于坐标系的变化,就是图形是不发生变化的,而是坐标系发生了变化,比如缩 ...

  9. 4. svg学习笔记-文档结构元素和样式的使用

    svg除了绘图元素之外还有一部分是专门用于文档结构的,这类元素有<g>,<use>,<defs>,<symbol>等 <g>元素 如果我们仅 ...

随机推荐

  1. 风趣的JavaScript面向对象入门课程一

    在我们程序猿界一直流传这这么一个joke,没女票我们可以new一个.没房子没票子没车子我们同样new一个!当然这听着更像是一种自嘲,毕竟我们程序猿都爱自嘲,哈哈,废话不多说,今天就由我带着你们来入Ja ...

  2. Ionic3学习笔记(三)禁止横屏

    本文为原创文章,转载请标明出处 目录 安装 使用 参数 1. 安装 命令行输入 ionic cordova plugin add cordova-plugin-screen-orientation n ...

  3. java web jsp学习笔记--概述-常用语法,指令,动作元素,隐式对象,域对象

     JSP学习笔记 1.什么是jsp JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP/Servlet规范.JS ...

  4. 学习PID

    最近在想自己的文章有些是不是写的太难以理解了呢.........竟然好多人看了还是会直接问我很多问题....... 其实PID哈靠自己想像就能自己写出来自己的代码,也许是网上的讲的太过的高深什么积分微 ...

  5. Python通过future处理并发

    future初识 通过下面脚本来对future进行一个初步了解:例子1:普通通过循环的方式 import os import time import sys import requests POP20 ...

  6. C# 6.0 $"Hello {csdn}"

    "hello $world"的格式化字符串是指把字符串中一个单词,以一个标示开头.可以代换为单词所指的变量. 这个在jq有,而C#string的格式只能用格式的字符占位符,格式的字 ...

  7. WiFi万能钥匙4.1.32接口

    做Key4WiFi时提取的接口 部分代码来自于 http://zke1ev3n.me/2016/04/06/WiFi%E4%B8%87%E8%83%BD%E9%92%A5%E5%8C%99%E6%8E ...

  8. 【转】Gvim配置(Windows and Linux)for C++|gvim编译运行c/c++程序

    转载地址:http://blog.csdn.net/onepiecehuiyu/article/details/8934366 http://mawenhao19930620.blog.163.com ...

  9. 面向接口编程实现不改代码实现Redis单机/集群之间的切换

    开发中一般使用Redis单机,线上使用Redis集群,因此需要实现单机和集群之间的灵活切换 pom配置: <!-- Redis客户端 --> <dependency> < ...

  10. Ardupilot设备驱动 IIC、SPI、USART

    设备代码层次结构 ​ Ardupilot设备驱动代码的层次结构采用 前端实现 和 后端实现 分割,前端库主要供机器代码层调用,后端库主要供前端调用.这里前端可以理解为应用层,后端理解为驱动层,前端调用 ...