SVG.js 元素操作整理

Posted 天马3798

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVG.js 元素操作整理相关的知识,希望对你有一定的参考价值。

一、属性操作Attributes

var draw = SVG(\'svg1\').size(300, 300);
//attr() 属性操作
//设置属性的值
var rect = draw.rect(100, 100);
rect.attr(\'x\', 50).attr(\'y\', 50);
rect.attr({
    fill: \'#f06\',
    \'fill-opacity\': 0.5,
    stroke: \'#000\',
    \'stroke-width\': 10
});
//删除属性
rect.attr(\'fill\', null);
//获取属性的值
var x = rect.attr(\'x\');
console.info(x);
var attributes = rect.attr();
console.info(attributes);

属性内容如下:

二、位置操作Positioning

var draw = SVG(\'svg1\').size(300, 300);
//Positioning 位置操作
var rect = draw.rect(100, 100);
var circle = draw.circle(100, 100).fill(\'#f06\');
//1.使用attr()设置位置
rect.attr({ x: 50, y: 50 });
circle.attr({ cx: 100, cy: 150 });
//2.使用 x()/y() cx()/cy() dx()/dy() 获取或设置位置
//x()/y()   x轴、y轴相对父节点获取或设置位置
//cx()/cy() x轴、y轴获取或移动中心
//dx()/dy() x轴、y轴相对于当前位置的移动
rect.x(50).y(50);
rect.cx(50).cy(50);
circle.cx(100).cy(100);
rect.dx(50).dy(50);

//3.move()/dmove() ---推荐使用的方式,如果仅指定一个值,则只是在x轴方向移动
circle.dmove(100, 100); //相对当前位置,目前的位置上再次移动
circle.move(100, 100);//相对父节点左上角

//4.center() 设置圆心的位置
//circle.center(100,100);
console.info(circle.x());
console.info(circle.cx());

三、大小操作Resizing

var draw = SVG(\'svg1\').size(300, 300);
//Resizeing 获取或设置元素大小
var rect = draw.rect(100, 100).fill(\'#f07\');
var circle = draw.circle(100);
//1.size() 设置大小
rect.size(200); //指定一个值,则宽度和高度相同
rect.size(200, 100);
//2.width() 获取或设置宽度
console.info(rect.width());
rect.width(200);
//3.height() 获取或设置高度
console.info(rect.height());
rect.height(200);

//4.raduis() 获取或设置圆角
//circle.radius(50); //设置半径
circle.radius(30, 50); //设置半径,对于圆,只使用第一个参数,对于椭圆可以设置两个参数
rect.radius(20); //设置圆角

四、填充、描边、透明度操作 Syntatic

var draw = SVG(\'svg1\').size(300, 300);
//Syntactic sugar 填充,描边、透明度
var rect = draw.rect(100, 100);
//-----fill() 填充
// //指定填充颜色和透明度
rect.fill({color:\'#f06\',opacity:0.6});
// //指定填充颜色
rect.fill(\'red\');
// //指定填充背景图
rect.fill(\'../scripts/36.jpg\');
// //指定背景图片大小
rect.fill(draw.image(\'../scripts/36.jpg\', 30, 30));

//-----stroke() 描边
rect.move(100, 100);
//使用json对象,指定颜色,宽度,透明度
rect.stroke({ color: \'#f06\', opacity: 0.6, width: 20 });
//指定边框颜色
rect.stroke(\'yellow\');
// 指定边框背景图片
rect.stroke(\'../scripts/tool.png\');
// 指定边框图片大小
rect.stroke(draw.image(\'../Scripts/tool.png\', 20, 20));

//-----opacity() 透明度设置
rect.opacity(0.5);

更多:

SVG.js 引用获取整理

SVG.js Marker标记和自定义标签

SVG.js Mask覆盖和ClipPath裁剪

以上是关于SVG.js 元素操作整理的主要内容,如果未能解决你的问题,请参考以下文章

SVG.js,从使用“use”导入的元素中删除/读取属性“transform”

svg.js使用教程

SVG.js 笔记

svg.js元素的动画旋转给出了意想不到的结果(可见“摇摆”)

svg.js教程及使用手册详解

基于svg.js实现对图形的拖拽选择和编辑操作