Я использую gdiplus для "обводки" текста. При определенных обстоятельствах мы видим «всплеск» вверху или внизу изображения, и я не совсем понимаю, почему. Мы можем минимизировать это, отрегулировав ширину штриха и размер шрифта, но это не лучшее решение. Я' Я надеюсь, что кто-нибудь сможет объяснить мне проблему.
И образец кода, генерирующий этот 4, его контур и всплеск (непреднамеренный)
GraphicsPath path(FillModeWinding);
path.AddString(text,wcslen(text),&fontFamily,StateInfo.TheFont.TheWeight,(REAL)minSize,PointF((REAL)ptStart.x, (REAL)ptStart.y),&sf);
// Draw the outline first
if (StateInfo.StrokeWidth > 0) {
Gdiplus::Color strokecolor(GetRValue(StateInfo.StrokeColor), GetGValue(StateInfo.StrokeColor), GetBValue(StateInfo.StrokeColor));
Pen pen(strokecolor,(REAL)StateInfo.StrokeWidth);
graphics.SetSmoothingMode(Gdiplus::SmoothingModeAntiAlias);
graphics.SetPixelOffsetMode(Gdiplus::PixelOffsetModeHighQuality);
graphics.DrawPath(&pen, &path);
}
// Draw the text by filling the path
graphics.FillPath(&solidBrush, &path);