基于svg.js可编辑图像中的文本换行

    svg中的文本与一般页面中的文本并不一样,svg中的文本使用<text></text>标签来包住文字,所以页面中文本换行功能无法使用,这时候就要我们自己设置部分属性来使其换行。
    首先是基本的svg文本这里写图片描述使用一个text标签包住。

<text id="SvgjsText1008" font-family="宋体" class="board-text" y="162.00" font-size="10.00pt" dy="11" x="91.00">这是第一段文本和第二段文本</text>

如果要分行的话需要在text标签中添加tspan标签来分行。

<text id="SvgjsText1008" font-family="宋体" class="board-text" y="154.00" font-size="10.00pt" dy="11" x="134.80">
<tspan id="SvgjsTspan1058" dy="13" x="134.8">这是第一段文本</tspan>
<tspan id="SvgjsTspan1059" dy="13" x="134.8">和第二段文本</tspan></text>

显示结果如下:这里写图片描述可以正确的分为上下两段,其中x和dy是必须的,x代表文本开始的x轴位置,dy则代表了文字偏移的位置,dy的值要根据文本的高度来设置,如果不设置x的值则会这里写图片描述第一段文字和第二段文字虽然分开,但是第二段文字在不设置x的时候会默认在原本的x轴位置,同样的不设置dy的值的话,文本会在原本行的高度,同时不设置x与dy的话文本虽然包在两个tspan标签下,但是实际看起来的效果与没分行的时候是一样的。使用方法:由于是基于svg.js的,所以必须引入svg.js,详见这里

var text = draw.text(function(add) {
  add.tspan('第一行').newLine()
  add.tspan('第二行').newLine().dx(20)
  add.tspan('第三行').newLine().dy(20)
})
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值