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

BeginPath()

TextOut(“ H”)

EndPath()

GetPath()

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

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

谢谢

最佳答案

如果要获取字形轮廓,为什么不只使用GetGlyphOutline?从理论上讲,这仅限于TrueType字体,但是考虑到Windows中通常使用的其他字体的百分比,这很少引起关注...

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

关于c++ - GetPath()会为此工作吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3160584/

10-10 18:21