怎样在指定的路径上输出文本

时间:2021-11-01 21:57:44
如题,在指定的路径上绘制文本,来实现文字特效。

9 个解决方案

#1


什么是指定的路径??

#2


是在指定的路径下保存文本文件???不象

在指定的路径上绘制文本???什么意思哦?不明白

#3


用GDI+中的GraphicsPath::AddString();方法可以把一个字符串当作路径添加到一个path对象中,然后用Graphics::DrawPath画出路径就可以吧

#4


你的意思是文字沿着曲线绘制么?
这个我倒是做过。以前的做法是将曲线转换为折线。然后根据文字宽度和折线的长度,计算每个文字应该显示的位置和旋转角度。

#5


然后根据文字宽度和折线的长度,计算每个文字应该显示的位置和旋转角度。??
能不能再讲详细一点儿啊,好像这样做太复杂了点儿吧,能作出来么。

#6


当然做出来了。我们开发的是排版软件,有沿曲线排文这个功能的。难度并不是很大。
这个东西,再详细就不好说了。文字有宽度,线段有宽度和位置。显示完一个文字以后,就要判断下一个文字显示的位置和方向,这是最大的难点。将线段的长度先减去文字的宽度,如果当前折线段的剩余长度小于文字宽度,那么需要找下一个折线段。总之,折线段中扣去文字宽度后的位置,就是下一个文字的显示位置。至于文字显示方向,就是折线方向了。
当然,你还可以有撑满等多种效果,区别只是取文字显示位置的方法稍微有点不同罢了。

#7


是要一个字符一个字符来的,用不同的角度。

#8


本人刚好在研究svg,请看看3wc上的相关文档:
http://www.w3.org/TR/SVG/text.html#TextOnAPath

#9


说的不大明白啊,

#1


什么是指定的路径??

#2


是在指定的路径下保存文本文件???不象

在指定的路径上绘制文本???什么意思哦?不明白

#3


用GDI+中的GraphicsPath::AddString();方法可以把一个字符串当作路径添加到一个path对象中,然后用Graphics::DrawPath画出路径就可以吧

#4


你的意思是文字沿着曲线绘制么?
这个我倒是做过。以前的做法是将曲线转换为折线。然后根据文字宽度和折线的长度,计算每个文字应该显示的位置和旋转角度。

#5


然后根据文字宽度和折线的长度,计算每个文字应该显示的位置和旋转角度。??
能不能再讲详细一点儿啊,好像这样做太复杂了点儿吧,能作出来么。

#6


当然做出来了。我们开发的是排版软件,有沿曲线排文这个功能的。难度并不是很大。
这个东西,再详细就不好说了。文字有宽度,线段有宽度和位置。显示完一个文字以后,就要判断下一个文字显示的位置和方向,这是最大的难点。将线段的长度先减去文字的宽度,如果当前折线段的剩余长度小于文字宽度,那么需要找下一个折线段。总之,折线段中扣去文字宽度后的位置,就是下一个文字的显示位置。至于文字显示方向,就是折线方向了。
当然,你还可以有撑满等多种效果,区别只是取文字显示位置的方法稍微有点不同罢了。

#7


是要一个字符一个字符来的,用不同的角度。

#8


本人刚好在研究svg,请看看3wc上的相关文档:
http://www.w3.org/TR/SVG/text.html#TextOnAPath

#9


说的不大明白啊,