呈现 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 UI
和 TextRenderer.DrawText
,这是由 Jimi 提供的。
此外,不需要图形设置。
谢谢吉米!
我正在尝试使用 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 UI
和 TextRenderer.DrawText
,这是由 Jimi 提供的。
此外,不需要图形设置。 谢谢吉米!