Graphics.DrawString - not work fontfamily text format

时间:2016-12-23 09:31:44

标签: c# text-rendering

Overlay text on video:

using (f_graphics = Graphics.FromImage(f_bmp_overlay))
            {
                f_graphics.Clear(System.Drawing.Color.Transparent);
                f_graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
                f_graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
                f_graphics.DrawString(f_text, f_font, f_color, new PointF(15, 15));
            }

Text color and size work good, but FontFamily apply only numbers.

enter image description here

What can be done?

1 个答案:

答案 0 :(得分:0)

您使用的是西里尔字符,实际字体显然不包含这些字符。因此系统用它选择的另一种字体替换字形。尝试使用拉丁字符,您会发现它们也已正确打印。

您需要一个字体文件,其中包含您要打印的所有Unicode代码点的字形,然后使用它。