为什么要用TextRenderer?

.NET 2.0里面新加了一个TextRenderer的类. TextRender使用GDI画/测量Text, 而不是GDI+.
而为什么使用TextRenerer可能会比Graphics.Draw/MeasureString好一些呢? 有以下3个原因:
  1. 对复杂的国际字符GDI比GDI+画的好一些. 类似的, 如果Windows新支持一种语言, GDI会比GDI+支持的好一些.
  2. Windows Form里面的Control大多都用GDI来绘制字符串. 所以如果有时候你需要绘制和control上的字符串完全一样的字符串, 或者测量control上字符串准确的大小的话, 你必须使用GDI, 而非GDI+. 比如, 如果你想准确判断TreeView上一个TreeNode的字符串是否在特定的位置内, 则需要用TextRenderer.MeasureText. (TreeNode.Bounds会稍微比字符串本身大一点点).
    使用GDI+绘制/测量的结果会跟GDI有一定区别, 特别是字符串很长的情况下.
  3. GDI+会在程序运行时一直锁定字体文件, 从而很难更新字体.

以上.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值