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 颜色渐变使用

Svg.js 图片加载

SVG.js 文本绘制整理

posted @   天马3798  阅读(4835)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示