Discussion:
ÇëÎÊÒ»žöGDI+µÄÎÊÌâ
(时间太久无法回复)
T60ºÜºÃ²ðÂï,ÔõÃŽ»á¶àÁË2žöÂÝË¿ÄØ
2009-09-11 03:28:27 UTC
Permalink
GDI+里面可以用Graphics的MeasureString来算出一个String在画面上的所占的像素
我现在希望能够根据像素来计算出这个String的字体大小
请问如何处理?

我自己算过,但是和MeasureString计算出来的总归有点误差
不知道是怎么回事
--

※ 来源:・饮水思源 bbs.sjtu.edu.cn・[FROM: 118.242.17.26]
T60ºÜºÃ²ðÂï,ÔõÃŽ»á¶àÁË2žöÂÝË¿ÄØ
2009-09-11 06:57:41 UTC
Permalink
应该是算进去的,我把MeasureString得到的宽和高打印在字的后面做背景色
右边和下边都会大出来一些
我现在用的就是你说的这种方法
但是字的大小和原来的大小还是有些出入的

【 在 vander (大青蛙) 的大作中提到: 】
: 字体大小一般不包括 external leading(即除了字符本身之外,相邻两行字符之间用于隔
: 开的像素)。不知 MeasureString 是否把 external leading 算进去了。如果算进去的话
: ,就无法精确地用来计算字体大小了。如果没算进去的话,它的高度与字体大小成正比,
: 但是每种字体似乎还是有不同的。一般情况下显示属性默认设置为 72pt = 1 inch = 96p
: x。通常像宋体 12px(12 像素)= 9pt(9 磅,不叫 9 号),算法就是 9 / 72 * 96,然
: 后四舍五入取个整。
: 【 在 guessking 的大作中提到: 】
: : GDI+里面可以用Graphics的MeasureString来算出一个String在画面上的所占的像素
: : 我现在希望能够根据像素来计算出这个String的字体大小
: : 请问如何处理?
: .................(以下省略)
--

※ 来源:・饮水思源 bbs.sjtu.edu.cn・[FROM: 118.242.17.26]
T60ºÜºÃ²ðÂï,ÔõÃŽ»á¶àÁË2žöÂÝË¿ÄØ
2009-09-14 02:19:18 UTC
Permalink
因为GDI+里面可以设定缩放比例啊
这样的话,font的尺寸就不对了
【 在 vander (大青蛙) 的大作中提到: 】
: 不过,我感兴趣的是你为什么需要用 MeasureString 来获得字体的宽和高?难道你不能直
: 接获取 Font 对象?
: 【 在 guessking 的大作中提到: 】
: : 应该是算进去的,我把MeasureString得到的宽和高打印在字的后面做背景色
: : 右边和下边都会大出来一些
: : 我现在用的就是你说的这种方法
: : 但是字的大小和原来的大小还是有些出入的
--

※ 来源:・饮水思源 bbs.sjtu.edu.cn・[FROM: 118.242.17.26]
T60ºÜºÃ²ðÂï,ÔõÃŽ»á¶àÁË2žöÂÝË¿ÄØ
2009-09-15 03:57:16 UTC
Permalink
其实我是要读取MIF(MapInfo)文件的数据
MIF文件里面,文字位置和大小是用两个坐标值来表示的
第一个坐标是文字的左上角坐标
第二个是右下角坐标

我要根据这个坐标反算字体大小
我现在算出来的字体大小和MapInfo显示出来的总是不一样

【 在 vander (大青蛙) 的大作中提到: 】
: 还是不明白你的用途,呵呵。
: 【 在 guessking 的大作中提到: 】
: : 因为GDI+里面可以设定缩放比例啊
: : 这样的话,font的尺寸就不对了
--

※ 来源:・饮水思源 bbs.sjtu.edu.cn・[FROM: 118.242.17.26]
Loading...