日期:2014-05-18  浏览次数:21147 次

怎么样得到Graphics对象的宽高呢?
C# code
Graphics g = p.CreateGraphics();
g.PageUnit = GraphicsUnit.Document;


然后我要在g上画图。

------解决方案--------------------
PictureBox 的 SizeMode 有 好几种, 如果是AutoSize 的话,PictureBox 的Size会随着 要你的 p.Image 的Size变化
如果是其它的类型则有固定的大小,所以你在创建 Graphics之前,PictureBox的尺寸都是存在了的
------解决方案--------------------
如果你是做打印的话可以通过
System.Drawing.Printing.PrintPageEventArgs ev
ev.PageSettings.PrintableArea.Width
这个方法获取可以做图的区域大小
红色的部分就是设计做图区域的大小,如果做图出了这个区域的话就看不到了
//没有图片在指定的区域画出提示信息
GraphicsState state = g.Save();
g.SetClip(this.Rectangle);//提示信息不能超出图片所在的区域
g.DrawString("请选择图片!", new Font("Verdana", 9), Brushes.DarkRed, this.Rectangle.X + 8, this.Rectangle.Y + 8);
g.Restore(state);//恢复做图区域