我对Circle周围的文字绘图有问题。
我在C#http://www.codeproject.com/Articles/30090/Text-On-A-Path-in-WPF
中找到了很好的样本我需要在VC 6.0中实现这一点,因此C#示例对我不起作用。
也许存在一些实现这个的基本算法?
所有图纸必须在CDC中绘制。
答案 0 :(得分:0)
CDC是围绕GDI的薄包装。 GDI并没有为你想做的事情提供太多的支持,所以这将是很多工作。以下是几种方法:
将文本正常(以直线)绘制到屏幕外DIB部分,然后按像素转换以制作另一个带有圆圈文本的屏幕外DIB部分。然后,您可以将已转换的DIB部分blit到输出设备。
对于每个字符,创建一个逻辑字体,并将擒纵和方向设置为当前位置的相应角度,然后使用该字体绘制字符。对每个角色重复一次。这里的问题是,即使使用TrueType或OpenType字体,旋转也不总是非常好,具体取决于字体的质量,提示等。
使用TrueType或OpenType字体并使用GDI为您提供定义实际字符形状的向量(线段和贝塞尔曲线)。将它们组装成直线,然后将笛卡尔坐标应用于极坐标变换。使用其中一个路径函数绘制结果。