Если вы хотите получить контур глифа, почему бы просто не использовать GetGlyphOutline
?Есть теоретическое ограничение, что это ограничено шрифтами TrueType, но учитывая процентное соотношение других шрифтов, обычно используемых в Windows, это редко вызывает беспокойство ...
Редактировать: Да, если вы хотите избежать использования GetGlyphOutline
использование пути вместо этого будет работать (хотя только со шрифтами TrueType, а не с растровыми шрифтами).Пример кода, включенного в документацию для CDC::BeginPath
, показывает, как сделать именно то, что вам нужно (хотя я настоятельно рекомендую использовать std::vector
вместо new[]
и delete[]
в качестведелает).Одна небольшая деталь: этот пример включает в себя реализацию PolyDraw
.Это может понадобиться (или вам нужно) только в том случае, если вам требуется поддержка старых 16-разрядных версий Windows - все версии Windows для Windows включают ее.