1.SVG.Text

var draw = SVG('svg1').size(300, 300);
//画文字内容展示
//var text = draw.text('中文内容测试\n换行处理');
var text2 = draw.text(function (add) {
//添加span元素包裹的文字
add.tspan('中文内容').newLine(); //指定当前内容开启新的一行,第一行一般都需要
add.tspan('换行1').fill('#f06').newLine();
add.tspan('.');
add.tspan('换行2').newLine().dx(20);
add.tspan('换行3').newLine();
});
//获取当前text的长度
var length = text2.length(); //191.140625
console.info(length);
//获取或这是文本内容
var txt = text2.text();
console.info(txt);
text2.text('修改后的内容'); //会覆盖已有的内容
//为text添加span元素 ,返回SVG.tspan
var span = text2.tspan('on a train...'); //会覆盖已有的内容
span.fill('red').newLine();
//清空text的内容
text2.clear();

 

var draw = SVG('svg1').size('100%', 300);
//画文字的格式
var text = draw.text('中文测试内容');
//获取或设置font
text.font({
family: 'Helvetica',
size: 24,
anchor: 'middle', //设置位置的相对定位点
leading: '1.5em'
});
text.move(100,100);
var font=text.font();
console.info(font); //获取或设置leading,似乎没起作用
text.leading(1,3);
text.lines();
text.plain('中文测试');//设置纯文本内容 //重新建立文本输入,追加内容 ,使用build()
text.build(true);
var tspan = text.tspan('something pink in the middle ').fill('#00ff97');
text.plain('and again boring at the end.');
text.build(false) // disables build mode
tspan.animate('2s').fill('#f06').loop(true, true);
//清空重置内容、动画等
text.rebuild(true); //更多扩展
// leading (will do the same as calling the leading() method as setter)
// anchor (will set the text-anchor attribute)
// family (will set the font-family attribute)
// size (will set the font-size attribute)
// stretch (will set the font-stretch attribute)
// style (will set the font-style attribute)
// variant (will set the font-variant attribute)
// weight (will set the font-weight attribute)

2.SVG.Tspan

var draw = SVG('svg1').size('100%', 300);
//SVG.Tspan 添加span元素
var text = draw.text('测试');
var span = text.tspan('http://www.gongjuji.net');
//开启新的一行
span.newLine();
//设置文本位置 dx dy
span.dx(100).dy(100);
//获取span 的长度(注:不是字数)
var length = span.length(); //160.09375
console.info(length);
//追加纯文本
span.plain('中文测试文本'); //获取或追加内容
//span.text('Just a string.');
span.text(function (add) {
add.plain(' 新行1');
add.tspan('》其他内容').fill('red');
});
//追加子的span元素
span.tspan('abc').fill('blue');
//清空文本
//span.clear();

3. SVG.TextPath 

var draw = SVG('svg1').size('100%', 700);
//设置文本路径
var text = draw.text(function (add) {
add.tspan('We go');
add.tspan('up').fill('#f09').dy(-40);
});
//设置路径
var path = 'M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100';
text.path(path).font({
size: 42.5,
family: 'Verdana'
});
//修改文本路径
text.plot('M 300 500 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100');
//获取textPath() 对象
var textPath = text.textPath();
textPath.attr('startOffset', '50%');
//路径使用动画
textPath.animate(3000).attr('startOffset', '80%').loop(true, true);
// //获取数组点,SVG.PathArray ----测试不可用
// var array1=text.textPath().array();
// console.info(array1);
var path2 = text.track();
//console.info(path2); //绑定事件 rebuild
text.on('rebuild', function () {
//获取当前text的内容
var content = text.text();
console.info(content);
});
//text.rebuild(true);
text.build(true);
text.tspan('中文内容').fill('blue');

更多:

SVG.js 基础图形绘制整理(二)

SVG.js 基础图形绘制整理(一)

Svg.Js 父类的基础操作

SVG.js 文本绘制整理的更多相关文章

  1. SVG.js 元素操作整理(二)-Transform

    一.transform()获取或设置矩阵变换 var draw = SVG('svg1').size(300, 300); //Transforming SVG元素矩阵变换 var rect = dr ...

  2. SVG.js 元素操作整理(一)

    一.属性操作Attributes var draw = SVG('svg1').size(300, 300); //attr() 属性操作 //设置属性的值 var rect = draw.rect( ...

  3. SVG.js 引用获取整理

    一.SVG.get() 根据id获取元素 var draw = SVG('svg1').size(300, 300); var circle = draw.circle(50); circle.fil ...

  4. SVG.js 图案使用和use引用

    一.SVG.Pattern 图案设置 var draw = SVG('svg1').size(300, 300); //SVG.Pattern 图案设置 var pattern = draw.patt ...

  5. SVG.js 颜色渐变使用

    一.SVG.Gradient 1.线性渐变.径向渐变,设置渐变的起始点,设置径向渐变的外层半径 var draw = SVG('svg1').size(300, 300); //SVG.Gradien ...

  6. Svg.js 图片加载

    一.SVG.Image 1.创建和修改图片 var draw = SVG('svg1').size(300, 300); //SVG.Image 加载图片文件 var image = draw.ima ...

  7. SVG.JS 画弧线

    需求描述: 使用svg.js,绘制一个弧线.下图绿色弧线. 准备工作: 1.了解SVG Path中的A指令 详细文档,请戳这里 给定x半径.y半径后,经过指定的两点,可以有2个椭圆,因此两点间有2条弧 ...

  8. SVG.js 基础图形绘制整理(二)

    一.折线 var draw = SVG('svg1').size(300, 300); //画折线 //使用字符串点 // var polyline=draw.polyline('0,0 100,50 ...

  9. SVG.js 基础图形绘制整理(一)

    一.矩形 //指定width和height 画矩形 //返回rect对象 var draw = SVG('svg1').size(300, 300); var rect = draw.rect(100 ...

随机推荐

  1. EntityFramework 系列:实体类配置-根据依赖配置关系和关联

    EF实体类的配置可以使用数据注释或Fluent API两种方式配置,Fluent API配置的关键在于搞清实体类的依赖关系,按此方法配置,快速高效合理.为了方便理解,我们使用简化的实体A和B以及A.B ...

  2. Mysql 查看用户

    一.查看用户和允许用户登录的地址权限. use mysql select host,user from user; 二.查看用户和所有用户权限 select * from user \G

  3. CentOS启动OpenVPN报错:Failed to start OpenVPN Robust And Highly Flexible Tunneling Application On server.

    tailf /var/log/openvpn.log 查看日志,里面有最详细的错误解说. 参考: https://forums.openvpn.net/viewtopic.php?t=21561

  4. 【Java】须要配置的三个Java环境变量

    我的电脑→属性→高级系统设置→高级→环境变量 1.JAVA_HOME : JDK的安装路径 2.PATH : %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 3.CLASSP ...

  5. TIMER门控模式控制PWM输出长度

    TIMER门控模式控制PWM输出长度 参照一些网友代码做了些修改,由TIM4来控制TIM2的PWM输出长度, 采用主从的门控模式,即TIM4输出高时候TIM2使能输出 //TIM2 PWM输出,由TI ...

  6. OPENSSL FIPS

    https://www.openssl.org/docs/fipsnotes.html https://wiki.openssl.org/index.php/FIPS_mode() openssl-f ...

  7. linux网络编程:splice函数和tee( )函数高效的零拷贝

    splice( )函数 在两个文件描述符之间移动数据,同sendfile( )函数一样,也是零拷贝. 函数原型: #include <fcntl.h> ssize_t splice(int ...

  8. 采用模拟账号读取Exchange server未读邮件的注意事项(链接邮箱问题)【转】

    最近做项目碰到Exchange中,用EWS API方法读取的未读邮箱(ConnectingIdType.PrincipalName设置该属性的方法)附带代码部分: 核心代码 using Microso ...

  9. Bootstrap碎语

    这里记录下某段时间Bootstrap的零散碎片. 1.有关Bootstrap的参考网站: ● 官方:http://getbootstrap.com/● 主题:http://bootswatch.com ...

  10. IEnumerable是集合,IEnumerator是集合的迭代器

    我们常用IEnumerable,却忽视IEnumerator.简单来说,IEnumerable是可以被循环遍历的集合,IEnumerator实施循环遍历. 接口分别是: public interfac ...