C# GDI+简介(一)

       下面几篇将要介绍如何使用Graphics Device Interface类编程。

        首先解释使用GDI+进行绘图的机制,再编写几个简单的图形程序的范例。然后深入探讨GDI+的扩展功能。包括 *剪切*打印*打印预览*Drawing2D NameSpace*Imaging NameSapce

       在编程术语中,当创建一个窗口,并在该窗口中进行绘图时,一般要声明一个派生与System.Windows.Forms.From的类。如果要编写一个定制控件,就要声明一个派生与System.Windows.Forms.UserControl的类。在这两种情况下都重写了虚拟函数OnPaint()。只要窗口的任何一部分需要重新绘制,Windows都会调用这个函数。其中PaintEventArgs类是一个参数。在PaintEventArgs中有两个重要的信息:Graphics对象和ClipRectangle对象。

      Graphics Calss封装了一个GDI+ 绘图界面。有3种基本类型的绘图界面:*Windows和屏幕上的控件 *要发送给打印机的页面 *内存中的位图和图像 Graphics类提供了可以在这些绘图界面上会图的功能。

       要获得Graphics对象有两种不同的方式:一重写OnPaint()事件,该事件是一个Form类继承Control类的虚拟方法。从该事件的PaintEventArgs中获取Graphics对象。二直接在窗口中绘图,而无需等待OnPaint()事件。在窗体上调用CreateGraphics()方法就可以获得一个Graphics对象。

       在调用完Graphics对象后必须调用DIspose(),用来释放对象占用的资源。如果是从OnPaint()事件中获得的Graphics对象,而不是创建了该对象,就不用调用Dispose()。在对象超出作用域时,using结构会自动调用Dispose()。如下:

using (Graphics g = this.CreateGraphics) {     g.DrawLine(Pens.Black,new Point(0,0),new Point(3,5)); }

上面的代码等价于:

Graphics g = this.CreateGraphics(); try{    g.DrawLine(Pens.Black,new Point(0,0),new Point(3,5)); } finally{     if(g!=null)         ((IDisposable)g).Dispose(); }

<注:>本文参考文献

《C#入门经典》清华大学出版社

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值