呈现 Visual Studio 代码接口之类的文本

Render text like Visual Studio Code Interface

我正在尝试使用 C# .NET 呈现类似于 visual studio 选项卡的文本。下面是 VSCode 的一个例子:

使用此代码:

g.SmoothingMode = SmoothingMode.AntiAlias;
g.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
g.CompositingQuality = CompositingQuality.HighQuality;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.TextContrast = 0;
g.DrawString(someText, Font, someBrush, someArea, new StringFormat() { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center});

和这个字体:

new Font("Segoe UI", 13, FontStyle.Regular, GraphicsUnit.Pixel)

我非常接近 VSCode。 (VSCode 使用 Segoe WPC,当我查看 CSS 文件时)

这是我的结果:

正如您希望看到的那样,VSCode 的文字稍微粗了一点。我已经尝试使用 TextRenderingHint 进行抗锯齿处理,但是使用这种较小的字体看起来太模糊了。我也试过 TextRenderer,但无济于事。将字体设为粗体也不好看。有什么方法可以使它看起来更接近 VSCode 吗?谢谢

解决方案是只使用 Microsoft YaHei UITextRenderer.DrawText,这是由 Jimi 提供的。

此外,不需要图形设置。 谢谢吉米!