Tag: 抽象字符串

使用自定义TTF字体进行DrawString图像渲染

我在服务器端使用GDI +创建一个流式传输到用户浏览器的图像。 没有标准字体符合我的要求,因此我想加载TrueType字体并使用此字体将我的字符串绘制到图形对象: using (var backgroundImage = new Bitmap(backgroundPath)) using (var avatarImage = new Bitmap(avatarPath)) using (var myFont = new Font(“myCustom”, 8f)) { Graphics canvas = Graphics.FromImage(backgroundImage); canvas.DrawImage(avatarImage, new Point(0, 0)); canvas.DrawString(username, myFont, new SolidBrush(Color.Black), new PointF(5, 5)); return new Bitmap(backgroundImage); } myCustom表示服务器上未安装的字体,但我有TTF文件。 如何加载TTF文件以便我可以在GDI +字符串渲染中使用它?

在.NET中绘制文本

我正在做一些关于在.Net中绘制文本的测试,我得到了以下结果。 第一个字符串是本机Label, FlatStyle设置为System 第二个字符串使用Graphics.DrawString()方法绘制 最后一个是使用TextRenderer.DrawText()方法绘制的 所有情况都使用默认的Windows Vista / 7字体:Segoe UI,9 如您所见,第二个字符串与其他字符串之间存在差异(质量较低,反别名不同)。 我试图在Graphics对象中配置反别名和平滑模式,没有任何结果。 是否可以绘制文本使用Graphics.DrawString并获得与其他方法相同的质量? 提前致谢。 编辑:我已经使用Reflector审查了代码。 我意识到Graphics.DrawString使用gdiplus.dll调用方法GdipDrawString()和TextRenderer.DrawText使用user32.dll调用DrawTextExW和DrawTextExA 。 有什么评论吗?