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

粗体字体渲染错误

当我尝试渲染一个中文string像试标记好不好Graphics.DrawString绘制它

即使我将字体链接改为Simsun。 另一方面TextRenderer工作,但是当使用粗体字体时,它不能呈现可读的string。 似乎没有正确的方法来呈现粗体string。

如何将WM_KEYDOWN消息传递给IWebbrowser2实例?

用于Windows的MySQL命令行客户端

从subprocess.Popenasynchronous读取标准输出

独立的Django应用程序与Windows上的pyinstaller

ZwQuerySystem@R_482_4045@ion / NtQuerySystem@R_482_4045@ion – 系统信息类5

这个问题在这里更详细的描述。 我做错了什么或Windows不支持在UI中的一些粗体string专业的本地化应用程序?

重现问题的代码是用于两个PictureBox的Windows窗体应用程序:

const string combined = "testing标记好不好This is a aber long"; private void cFontSize_ValueChanged(object sender,EventArgs e) { Bitmap bmp = new Bitmap(750,140); Font f = new Font("Arial",(float)cFontSize.Value,IsBold ? FontStyle.Bold : FontStyle.Regular); using (var g = Graphics.FromImage(bmp)) { g.CompositingMode = System.Drawing.drawing2d.CompositingMode.sourceOver; // Rendering with a Background Color solves the issue but // this would produce Boxes of white or black color in the displayed image which looks even worse TextRenderer.DrawText(g,combined,f,new Point(0,0),FontColor); } cPictureBox.Image = bmp; Bitmap bmp2 = new Bitmap(750,140); using (var g = Graphics.FromImage(bmp2)) { g.CompositingMode = System.Drawing.drawing2d.CompositingMode.sourceOver; g.DrawString(combined,FontBrush,0); } cPicture2.Image = bmp2; }

更新1:

当我添加为HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows NT CurrentVersion FontLink SystemLink的字体链接设置

Arial Bold SimsUNB.TTC,Simsun Bold MSGOTHIC.TTC,MS UI Gothic

那么Graphics.DrawString现在看起来确定althogh TextRender现在得到问题。 现在重新启动应用程序后,两个输出看起来都是字体好的,尽pipeTextRenderer仍然存在由于黑色反锯齿而使得粗体字变得不可读的问题。 我将重新启动机器检查任何caching效果

我怎样才能得到安装Windows的驱动器的名称

什么是清理代码的正确方法

以编程方式阻止进程和C#/ Windows中的特定主机之间的所有连接

“控制台”,“cmd.exe”,“shell”之间的区别?

图像差异查看器SVN

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

相关推荐