打印输出,MeasureString问题

CraxyMouse 2010-03-23 08:11:56
现在有一个问题,我在打印输出时,打印出来的文本,打印出来比在屏幕上看到的大!

哪位兄弟知道解决办法!
谢谢

protected overried void OnPaint(PaintEventargs e)
{
//这个是屏幕输出,计算出来的值比打印输出小
//float fwidth = g.MeasureString(Text, TextFont.ShowFont).Width;
DrawText(e.Graphics);
}

//打印输出
private void pd_PrintPage(object sender, PrintPageEventArgs e)
{
DrawText(e.Graphics);
}

private void DrawText(Graphics g)
{
float fheight = g.MeasureString(Text, TextFont.ShowFont).Height;
float fwidth = g.MeasureString(Text, TextFont.ShowFont).Width;

g.DrawString("Print Test",new Font("Verdana", 10),Brushs.Black,new Rectangle(10,10,(int)fheight,(int)fwidth);

}
...全文
135 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cjcgy 2010-03-23
  • 打赏
  • 举报
回复
会不会一个是用GDI算的另一个是用GDI+算的?
CraxyMouse 2010-03-23
  • 打赏
  • 举报
回复
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
特别安静 2010-03-23
  • 打赏
  • 举报
回复
打印真是个头痛的事情
CraxyMouse 2010-03-23
  • 打赏
  • 举报
回复
变大了的话离纸张的边距就不对了!
就没有什么好的解决办法
周公 2010-03-23
  • 打赏
  • 举报
回复
是按照比率来的,屏幕与纸张又不是1:1的缩放的,自然打印出来的跟在屏幕上看的大小不一样了。
Fibona 2010-03-23
  • 打赏
  • 举报
回复
你打印的时候用的是10号字,你的屏上是多少号字

110,569

社区成员

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

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

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