微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

wpf – 使用具有FormattedText的TextOptions.TextFormattingMode

使用 WPF4,您可以通过将TextOptions.textformattingMode =“display”和TextOptions.TextRenderingMode =“Aliased”添加到xaml中,可以具有非模糊的文本:
<Window
   TextOptions.textformattingMode="display"
   TextOptions.TextRenderingMode="Aliased">

这对我来说很好,除了当我用DrawingContext.DrawText绘制文本时,如下所示:

void DrawText(DrawingContext dc)
{
  FormattedText ft = new FormattedText("Hello World",System.Globalization.CultureInfo.CurrentCulture,System.Windows.FlowDirection.LeftToRight,new Typeface(FontFamily,FontStyle,FontWeight,FontStretch),FontSize,brush);
  dc.DrawText(ft,new Point(rect.Left,rect.Top));
}

如何用FormattedText绘制非模糊的文本?即我想要使用TextOptions.textformattingMode =“display”和TextOptions.TextRenderingMode =“Aliased”.

解决方法

FormattedText有一个重载的构造函数,允许指定一个textformattingMode: http://msdn.microsoft.com/en-us/library/ee474866.aspx
void DrawText(DrawingContext dc)
{
  FormattedText ft = new FormattedText("Hello World",brush,null,textformattingMode.display);
  dc.DrawText(ft,rect.Top));
}

原文地址:https://www.jb51.cc/csharp/94776.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐