我基本上想获得角色的轮廓。我想知道如何在不使用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/