SVG.js 图案使用和use引用
一.SVG.Pattern 图案设置
var draw = SVG('svg1').size(300, 300);
//SVG.Pattern 图案设置
var pattern = draw.pattern(20, 20, function (add) {
add.rect(20, 20).fill('#f06');
add.rect(10, 10);
add.rect(10, 10).move(10, 10);
});
//获取url的标识对象,returns 'url(#SvgjsPattern1234)'
var urlObj = pattern.fill();
console.info(urlObj); //url(#SvgjsPattern1008)
//为圆设置图案,fill() 方法设置或获取图片对象
var circle = draw.circle(100);
circle.move(100, 100)
.fill(pattern);
//为矩形设置图案
var rect = draw.rect(100, 100);
rect.attr({ fill: pattern });
//修改图案,会覆盖以前的图片
pattern.update(function (add) {
add.circle(15).center(10, 10);
});


二.SVG.Use 元素的引用
1.
//SVG.Use 元素的引用
//使用元素简单地模拟另一个现有元素。主元素的任何更改将反映在所有使用实例上。
var rect = draw.rect(100, 100).fill('#f09');
var use = draw.use(rect);
use.move(100, 100);
//当rect修改时,use也会跟着修改
rect.animate(1000).fill('#f90');

2.SVG.defs() 的声明定义,当use()再显示
var draw = SVG('svg1').size(300, 300);
//SVG.defs() 的声明定义,当use()再显示
var rect = draw.defs().rect(100, 100).fill('#f09');
var use = draw.use(rect);
use.move(100, 100);
//当rect修改时,use也会跟着修改
rect.animate(1000).fill('#f90');

3.
var draw = SVG('svg1').size(300, 300);
//SVG.use() 使用外部文件
//这种方法是有用的,当你有复杂的图像已经创建。
//需要注意的是,外部图像(在你的领域)可能需要加载的文件与XHR。
var rect=draw.rect(100,100);
console.info(rect);
console.info(rect.node.id);
var use = draw.use(rect.node.id, 'svg1.svg')
更多:
SVG.js 图案使用和use引用的更多相关文章
- SVG.js 引用获取整理
一.SVG.get() 根据id获取元素 var draw = SVG('svg1').size(300, 300); var circle = draw.circle(50); circle.fil ...
- SVG.js Marker标记和自定义标签
一.SVG.Marker 添加标记 SVG.Marker 标记可以被添加到一个线,折线的各点,多边形和路径.有三种类型的标记:开始,中间和结束.如果开始表示第一个点,则结束中间的最后一点和中间点. v ...
- SVG.js Mask覆盖和ClipPath裁剪
一.SVG.Mask 覆盖物设置 1. var draw = SVG('svg1').size(300, 300); //SVG.Mask 覆盖物设置 var ellipse = draw.ellip ...
- svg.js教程及使用手册详解(二)
上篇简要介绍了svg.js的基本信息和基本用法,这篇开始详细讲解svg.js的用法. SVG元素 SVG元素主要包括各种形状.线条.文本.路径. 矩形——Rect Rects有两个参数,即矩形的宽度和 ...
- SVG.js 元素操作整理(二)-Transform
一.transform()获取或设置矩阵变换 var draw = SVG('svg1').size(300, 300); //Transforming SVG元素矩阵变换 var rect = dr ...
- SVG.js 元素操作整理(一)
一.属性操作Attributes var draw = SVG('svg1').size(300, 300); //attr() 属性操作 //设置属性的值 var rect = draw.rect( ...
- Svg.Js 父类的基础操作
一.SVG.Doc 创建SVG文档 var draw = SVG('drawing') <div id="svg1"></div> <script&g ...
- svg.js教程及使用手册详解(一)
做毕设的时候,因为要使用到画图和自定义动画,所以接触到了SVG.网上关于SVG和Canvas的对比很多,具体的辨析这里就不赘言.网上关于SVG的所谓教程基本上都是SVG本身,但是却没有一个针对svg. ...
- SVG操作插件:SVG.JS 个人提取部分实用中文文档
先贴出github地址:https://github.com/svgdotjs/svg.js(也就是原文档的说明和文件的下载地址) 创建SVG文档 var draw = SVG('drawing'). ...
随机推荐
- 【LOJ】#2264. 「CTSC2017」吉夫特
题解 根据一番认真严肃的猜结论和打表证明之后 我们可以得到 \(f[i] = (\sum_{a[i] \& a[j] == a[j]} f[j]) + 1\) 统计所有的\(f[i] - 1\ ...
- SpringBoot的Controller使用
一: 1.注解 2.control注解 3.效果 4.RespomseBody package com.caojun.springboot; import org.springframework.be ...
- maven 不同环境打包命令
mvn clean package mvn clean package -Pdev mvn clean package -Ptest mvn clean package -Pproduct
- 006.SMB之用户管理
一 用户添加 注意: 1 添加samba密码必须已经是系统用户,才能添加为samba用户. 2 samba账户密码可以和系统账号密码不一致(建议设为不同密码). 1.1 smbpasswd [root ...
- Python3 BP神经网络
转自麦子学院 """ network.py ~~~~~~~~~~ A module to implement the stochastic gradient descen ...
- 循序渐进学.Net Core Web Api开发系列【5】:文件上传
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍通 ...
- CO文件升级
当在Process Designer文件中导入旧版本CO模型时,拖入Graphic View后会出现如下错误.升级CO文件可解决该错误. 使用开始菜单中Tecnomatix下的Update to ...
- 六省联考2017 Day1
目录 2018.3.18 Test T1 BZOJ.4868.[六省联考2017]期末考试 T2 T3 BZOJ.4870.[六省联考2017]组合数问题(DP 矩阵快速幂) 总结 考试代码 T1 T ...
- R基础学习(三)-- 简单练习(shiny+mysql+barplot)
测试环境:win10+RStudio 提前准备: install.packages('shiny') install.packages('RMySQL') 数据表准备: 最终实现的界面效果如下:点击[ ...
- WorldFinal11 (2/11)
WorldFinal 11 Trash Removal 题意 给你一个多边形,问这个多边形至少需要多宽的长度,才能把这个多边形放进去. 数据范围100 题解 数据范围只有100,暴力枚举两点,然后算最 ...