WPF中的文本呈现

时间:2013-08-12 05:54:49

标签: c# wpf xaml

我需要在WPF中设置灰度文本渲染器抗锯齿,我可以使用此属性在XAML中进行:

TextOptions.TextRenderingMode="Grayscale"

但我需要使用 FormattedText 在屏幕上绘制文本,但FormattedText没有文本渲染和抗锯齿的选项。

我发现字体大小在21以下改变渲染模式为cleartype,但我总是需要灰度。

示例代码:

FormattedText ft = new FormattedText(
    "small text",
    cult_info,
    FlowDirection.LeftToRight,
    rw.font,
    18,
    Brushes.DarkGreen);
Point o2 = new Point(dock_w - 5, origin.Y+ft.Height/8);
Point o3 = new Point(dock_w-5, origin.Y+ft.Height);
Point o4 = new Point(dock_w-5-ft.Width, origin.Y+ft.Height);
ft.TextAlignment = TextAlignment.Right;
dc.DrawText(ft, o2);
dc.DrawLine(pen,o3,o4);

1 个答案:

答案 0 :(得分:0)

你试过了吗?

TextOptions.SetTextRenderingMode(visual, TextRenderingMode.Grayscale);

在上下文中绘制文本之前(我想甚至在调用RenderOpen之前)?