以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 SVG/GML/VRML/X3D/XAML 』  (http://bbs.xml.org.cn/list.asp?boardid=21)
----  svg专题教程——(文字)  (http://bbs.xml.org.cn/dispbbs.asp?boardid=21&rootid=&id=30692)


--  作者:卧龙小生
--  发布时间:4/17/2006 11:00:00 AM

--  svg专题教程——(文字)
文 字(1)
  
  
1. 文字居左对齐
  
  
  
源代码:
  
<?xml version="1.0" encoding="utf-8"?>
<!-- Author : Blueknight,Hangzhou,China 2000 -->
<svg width="50" height="50">
<text x="0" y="20" style="fill: red">
SVG
</text>
</svg>

  
  
讲解:
  
在SVG中使用<text></text>标签定义文字.

x,y属性决定文字的位置.<text>默认为文字居左对齐.也就是文字的轴线在文字的最左边线,图中,取轴线为x=0,与画布的最左边线一致,我们看到文字居左对齐.

(另:关于中文字体以及编码格式,我们将在以后的专题中再做讨论.目前范例仍然使用默认的英文字体.)
-------------------------------------------------------------------------------------------------------
2. 文字居中对齐
  
  
  
源代码:
  
<?xml version="1.0" encoding="utf-8"?>
<!-- Author : Blueknight,Hangzhou,China 2000 -->
<svg width="50" height="50">
<text x="50" y="13" style="fill: red; text-anchor: middle">
SVG
</text>
</svg>

  
  
讲解:
  
居中对齐也就是文字的轴线在文字的中心.图中取x=50为轴线,我们很清楚的看到,轴线落在文字的中心.(另半边由于落在图像画布外,所以没有显示.)

居中对齐使用了text-anchor: middle这一属性.
--------——————————————————————————————————————-

3. 文字居右对齐
  
  
  
源代码:
  
<?xml version="1.0" encoding="utf-8"?>
<!-- Author : Blueknight,Hangzhou,China 2000 -->
<svg width="50" height="50">
<text x="50" y="13" style="fill: red; text-anchor: end">
SVG
</text>
</svg>

  
  
讲解:
  
居右对齐也就是文字的轴线在文字的最右边线.图中取x=50为轴线,与画布的最右边线一致.我们很清楚的看到,轴线落在文字的最右边.

居中对齐使用了text-anchor: end这一属性.
————————————————————————————————————
文 字(2)
  
  
4. 分行显示
  
  
  
源代码:
  
<?xml version="1.0" encoding="utf-8"?>
<!-- Author : Blueknight,Hangzhou,China 2000 -->
<svg width="50" height="50">
<text x="0" y="13" style="fill: red">
Line 1
<tspan x="0" dy="0.5cm">Line 2</tspan>
</text>
</svg>

  
  
讲解:
  
文字的分行显示主要利用了<tspan></tspan>标签.tspan用于对文字的显示进行单独的控制.范例使用的dy属性是一个纵向相对位移值,它用于区分上下两行文字间的纵向相对位移.您可以试着将dy属性删去,此时会发现line1被line2覆盖而无法显示.tspan除了dy,还有x,y,dx,dy,rotate,textlength等属性.
——————————————————————————————————————

5. 文字路径
  
  
  
源代码:
  
<?xml version="1.0" encoding="utf-8"?>
<!-- Author : Blueknight,Hangzhou,China 2000 -->
<svg width="100" height="50">
<defs>
<path id="textPath" d="M10 50 C10 0 90 0 90 50" />
</defs>
<text style="fill: red; text-anchor:middle">
<textPath xlink:href="#textPath">
Text on a Path
</textPath>
</text>
</svg>

  
  
讲解:
  
制作文字路径首先需要对路径进行声明定义(绿色部分).

在文字中,使用<textpath></textpath>标签,并利用前面介绍的xlink调用方法完成文字附着路径动作.


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms