我需要在 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);