c++ - GetPath() 能解决这个问题吗?

标签 c++ c winapi

我基本上想得到一个角色的轮廓。我想知道如何在不绘制到 DC 的情况下做到这一点。我可以做这样的事情吗:(伪代码)

开始路径()

文本输出(“H”)

结束路径()

获取路径()

这样的东西对 GetPath 有用吗?它会返回我可以绘制的字形轮廓吗?

否则,我还能怎么做(没有 freetype)

谢谢

最佳答案

如果你想获得字形轮廓,为什么不直接使用 GetGlyphOutline ?理论上存在限制,这仅限于 TrueType 字体,但考虑到 Windows 上通常使用的其他字体的百分比,这很少是一个问题......

编辑:是的,如果您想避免使用GetGlyphOutline,可以使用路径代替(尽管仅适用于 TrueType 字体,不适用于位图字体)。 CDC::BeginPath 文档中包含示例代码展示了如何准确地执行您想要的操作(尽管我强烈建议使用 std::vector 而不是 new[]delete[] 就像它一样)。一个小细节:该示例包含 PolyDraw 的实现。只有当您需要支持古老的 16 位版本的 Windows 时,您才需要(或想要)这个 - 所有基于 NT 的 Windows 版本都包含它。

关于c++ - GetPath() 能解决这个问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3160584/

相关文章:

c++ - opengl 立方体不会渲染

c - gdb 未在正确的行上设置断点

c - 如何使用 Thrift 代替 RPC 进行消息传递

c++ - 具有特征类型输出的特征二进制表达式

c++ - 为什么 gcc 4.9 (trunk) 这么慢?

c++ - 如何使用 SDL 获取 win32 文件浏览器?

c++ - 如何将 "safely"文件夹删除到回收站

c++ - 在 WM_NCDESTROY 上释放自己安全吗?

c++ - 如何以线程安全的方式遍历二叉树?

c - 在 c 中使用 strcpy 通过函数初始化结构