我基本上想要获得角色的轮廓。我想知道如何在不吸引DC的情况下做到这一点。我可以这样做:( Psudocodeishly)
beginPath方法()
的TextOut( “H”)
EndPath()
的getPath()
像这样的东西可以用于GetPath吗?它会返回我可以绘制的字形轮廓吗?
否则,我怎么能这样做(没有freetype)
由于
答案 0 :(得分:0)
如果您想获得字形轮廓,为什么不使用GetGlyphOutline
?理论上的限制是这仅限于TrueType字体,但考虑到Windows上通常使用的其他字体的百分比,这很少是一个问题......
编辑:是的,如果您想避免使用GetGlyphOutline
,则使用路径会起作用(尽管只使用TrueType字体,而不是位图字体)。 CDC::BeginPath
文档中包含的示例代码显示了如何完全按照您的目标行事(尽管我强烈建议您使用std::vector
代替new[]
和delete[]
就像它一样)。一个小细节:该示例包含PolyDraw
的实现。如果你需要支持古老的16位版本的Windows,你只需要(或想要)这一点 - 所有基于NT的Windows版本都包括它。