码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2017-04-02 12:43:48      阅读:477      评论:0      收藏:0      [点我收藏+]

标签:image   pre   pat   function   rect   覆盖   console   ges   lin   

一、SVG.Marker 添加标记

SVG.Marker 标记可以被添加到一个线,折线的各点,多边形和路径。有三种类型的标记:开始,中间和结束。如果开始表示第一个点,则结束中间的最后一点和中间点。
var draw = SVG(‘svg1‘).size(300, 300);
var line = draw.line(0, 0, 200, 150);
line.stroke(‘blue‘).move(20, 20);
//创建marker,声明时指定宽度和高度,在标记处添加的形状超出部分会隐藏
var marker1 = draw.marker(10, 10, function (add) {
    add.rect(20, 20);
});
//添加到直线
line.marker(‘start‘, marker1);
//获取引用
var ref1 = line.reference(‘marker-start‘);
console.info(ref1);
//修改标记的大小,size()/width()/height()
ref1.size(20, 20);
//更改标记内容
marker1.update(function (add) {
    add.circle(10).fill(‘#f09‘);
});

2.实例

var draw = SVG(‘svg1‘).size(300, 300);
//SVG.Marker 标记可以被添加到一个线,折线的各点,多边形和路径。有三种类型的标记:开始,中间和结束。如果开始表示第一个点,则结束中间的最后一点和中间点。
var path = draw.path(‘M0 0 A50 50 0 0 1 50 50 A50 50 0 0 0 100 100‘);
path.fill(‘none‘).move(20, 20).stroke({ width: 1, color: ‘#ccc‘ });
path.marker(‘start‘, 10, 10, function (add) {
    add.circle(10).fill(‘#f06‘);
});
path.marker(‘mid‘, 10, 10, function (add) {
    add.rect(5, 10).cx(5).fill(‘#ccc‘);
});
path.marker(‘end‘,20,20,function(add){
    add.circle(6).center(4,5);
    add.circle(6).center(4,15);
    add.circle(6).center(12,10);
    this.fill(‘#0f9‘);
})

技术分享

二、SVG.Bare 添加自定义标签

//SVG.Bare 添加自定义标签,不会在页面中显示
//element() 创建标签
//var element=draw.element(‘title‘);
var element = draw.element(‘symbol‘, SVG.Parent);// <symbol id="SvgjsSymbol1008">测试标签</symbol>
//words() 设置标签内容
element.words(‘测试标签‘);// <title id="SvgjsTitle1008">测试标签</title>

技术分享

更多:

SVG.js Mask覆盖和ClipPath裁剪

SVG.js 图案使用和use引用

SVG.js 颜色渐变使用

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

标签:image   pre   pat   function   rect   覆盖   console   ges   lin   

原文地址:http://www.cnblogs.com/tianma3798/p/6658620.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!