【问题标题】:Draw Anti-Aliased Text Image like Graphics Software像图形软件一样绘制抗锯齿文本图像
【发布时间】:2011-10-04 17:14:53
【问题描述】:

我想生成如下文本图像(来源:http://www.zune.net/en-US):

文字有很好的厚度,并且完美地消除了锯齿。矢量图形软件——例如 Inkscape——产生相同的结果。但是,我设法使用 GDI+ 创建的图像如下所示:

尽管字体系列、大小、粗细等相同,但这些渲染文本太薄。如何增加文字的粗细? WPF 是否提供如上所述呈现文本的功能?


[更新]我使用TextRenderer.DrawText() 创建了以下图像。第一个使用TextRenderingHint.ClearTypeGridFit,第二个使用TextRenderingHint.AntiAlias

【问题讨论】:

  • 使用 TextRenderer.DrawText,而不是 Graphics.DrawString。不要对网站上的艺术作品使用 ClearType 抗锯齿。并聘请设计师团队确保一切都完美无缺。
  • 我使用TextRenderer.DrawText(查看更新后的帖子)来渲染文本,但字母仍然比我想要的要细。你知道以“zune 方式”呈现文本的方法吗?

标签: c# wpf gdi+ gdi text-rendering


【解决方案1】:

我通过将包含 TextBlock 的 WPF 用户控件呈现在 CanvasRenderTargetBitmap 中,从而创建了漂亮的文本图像 - 使用 PngBitmapEncoder - 保存到 MemoryStream 并打开使用Image.FromStream(Stream) 到图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    • 2016-04-24
    • 1970-01-01
    • 2011-02-14
    • 2021-02-12
    相关资源
    最近更新 更多