CorelDRAW VBA - 创建美术字文本并沿着形状路径排列
2018-05-20 本文已影响0人
成都超平面科技
公告
本专栏的相关的文章已不在简书同步更新,请直接访问 VBA探秘 官方网站或关注微信公众号获取最新文章动态。
coreldraw-vba-create-artistic-text目的
这篇教程将教会你使用 CorelDRAW VBA代码在文档中创建美术字文本,并调用 FitTextToPath
方法让文本沿着形状的路径排列。
美术字文本是一种短文本,适合显示文字内容较少(通常是一行)的文本内容,可以给美术字文本应用图形效果。与之相反的段落文本,则适合显示内容较多的文本内容,并可以对其设置更加复杂的排版方式,本文暂且不讨论段落文本。
创建美术字
要创建一个美术字文本,你可以使用以下方法之一:
- Layer.CreateArtisticText:用来创建基本的美术字文本
- Layer.CreateArtisticTextWide:用来创建带有Unicode字符的美术字文本
这两个方法都需要指定美术字文本对象的坐标及其文本内容,同时也提供了可选的扩展参数用来设置字体名称、字体大小、字体格式、对其方式等等。调用这两个方法,返回的都是一个 Shape
(形状)对象。代码演示如下:
' 声明形状变量
Dim sh As Shape
' 设置当前活动文档的单位为毫米
ActiveDocument.Unit = cdrMillimeter
' 创建一个内容为 Hello Zebe 的美术字
Set sh = ActiveLayer.CreateArtisticText(0, 0, "Hello Zebe")
运行效果如下图所示:
coreldraw-vba-create-artistic-text-1
把美术字文本沿着形状路径排列
Text
类提供了一个 FitTextToPath
方法,该方法用于简单地将文本附加到一个形状的外轮廓路径上。具体请查看下面的代码演示:
' 声明变量
Dim sh As Shape, sPath As Shape
' 设置文档单位为毫米
ActiveDocument.Unit = cdrMillimeter
' 创建形状路径
Set sPath = ActiveLayer.CreateEllipse(0, 10, 60, 60)
' 创建美术字文本
Set sh = ActiveLayer.CreateArtisticText(1, 4, "这是沿着形状路径排列的美术字")
' 把美术字沿着路径排列
sh.Text.FitToPath sPath
运行效果如下图所示:
coreldraw-vba-create-artistic-text-2
原创声明:本文首发于个人CorelDRAW VBA博客,请尊重文章版权。
转载请注明原文链接:http://www.cdrvba.com/coreldraw-vba-create-artistic-text