GetPath()会为此工作吗?

时间:2010-07-01 18:25:50

标签: c++ c winapi

我基本上想要获得角色的轮廓。我想知道如何在不吸引DC的情况下做到这一点。我可以这样做:( Psudocodeishly)

beginPath方法()

的TextOut( “H”)

EndPath()

的getPath()

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

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

由于

1 个答案:

答案 0 :(得分:0)

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

编辑:是的,如果您想避免使用GetGlyphOutline,则使用路径会起作用(尽管只使用TrueType字体,而不是位图字体)。 CDC::BeginPath文档中包含的示例代码显示了如何完全按照您的目标行事(尽管我强烈建议您使用std::vector代替new[]delete[]就像它一样)。一个小细节:该示例包含PolyDraw的实现。如果你需要支持古老的16位版本的Windows,你只需要(或想要)这一点 - 所有基于NT的Windows版本都包括它。