相同的DPI下g.MeasureString为什么不同呢?

CraxyMouse 2009-08-21 01:27:42


///这个graphics是从打印机创建的 e.Graphics.DipX =300,e.Graphics.DipY=300
private void pd_PrintPage(object sender, PrintPageEventArgs e)

(1):g.Graphics.MeasureString(tempText, TextFont).Width;

Bitmap bitmap = new BitMap(300,300);
///设定分辨率为300
bitmap.SetResolution(300, 300);
Graphics g = Graphics.FromImage(bitmap);

(3):g.MeasureString(tempText, TextFont).Width;

为什么二个值不同呢?

...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chaozi_249 2009-08-21
  • 打赏
  • 举报
回复
你的代码好乱啊,没有看懂你的问题。
pcqpzq 2009-08-21
  • 打赏
  • 举报
回复
验证:主要原因是PageUint属性不通
pcqpzq 2009-08-21
  • 打赏
  • 举报
回复
不好意思,没看仔细,既然DipX/DipY一样,那就是后面的原应
pcqpzq 2009-08-21
  • 打赏
  • 举报
回复
Bitmap 的默认DipX/DipY默认是96,所以不同罗
另外,字体不同、设备不同、文字不同等等原因都可能不同,但是从你的情况看DipX的不同是主要原因
xinghuanonline 2009-08-21
  • 打赏
  • 举报
回复
up
chenxiaoping_2009 2009-08-21
  • 打赏
  • 举报
回复
ding..

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧