GDI+ 游戏编程之2:GDI+基本使用

GDI 就是 window系统提供了一些函数,GDI+就是.NET里面对这些函数的封装,这些函数主要是在System.Drawing 里面,

他包含了 绘图设备,画笔,画刷,颜色等各种东西,反正就是那些窗口控件什么的都是用他画出来的,比如 按钮,菜单

滚动条什么的。

 

    GDI/GDI+ 就是window系统自己使用的基本画图函数,主要用来绘制系统界面,所以速度是比较慢的,功能也是有限的

也只是2D的,大型游戏采用的是 硬件图形API,主要是DirectX,硬件加速,也就是显卡,速度快,功能强大,也复杂的很,

以后的系列再讲。。。

    GDI/GDI+ 慢是慢,但是做一些小游戏,用来学习基本游戏编程的方法那是很不错的。。。你直接引用就可以了撒。。。

    

    要想绘图,必须有一个Graphic对象,这个对象就是绘图设备,可以认为就是画图的东西,比如 窗口,PictureBox啊,反正

能显示的都可以搞个这个,一般用PictureBox来作为画图的地方。。。

    现在新建一个工程,在窗口上放个PictureBox,背景设置为黑色以便看的清楚。。。

 

 

现在需要得到graphics 对象,可以调用    pictureBox1.CreateGraphics(), CreateGraphics() 既可为某个控件创建一个graphocs,当然在pictureBox的paint事件里面也可以得到,        private void pictureBox1_Paint(object sender, PaintEventArgs e),e.Graphics即可,

现在先用后者,绘制线,圆,文本等的代码如下:

  1.         private void pictureBox1_Paint(object sender, PaintEventArgs e)
  2.         {
  3.             Pen p = new Pen(Color.Red,2.0f);
  4.             //画线
  5.             e.Graphics.DrawLine(p, 0, 0, 200, 200);
  6.             //画圆
  7.             p.Color = Color.Green;
  8.             e.Graphics.DrawEllipse(p,new Rectangle(10,10,100,100));
  9.             //填充圆
  10.             p.Color = Color.Green;
  11.             e.Graphics.FillEllipse(Brushes.Brown, 10, 10, 100, 100);
  12.             //画椭圆
  13.             p.Color = Color.Indigo;
  14.             e.Graphics.DrawEllipse(p,new Rectangle(10,10,130,170));
  15.             //画字符串
  16.             p.Color = Color.Yellow;
  17.             e.Graphics.DrawString("这是画出来的文本"this.Font, Brushes.Blue, 20.0f, 20.0f);
  18.         }

注意 Pen代表钢笔,也就是画形状的,也就是Draw开头的一系列函数,Brushes这个类里面包含很多预定义颜色的刷子,用来填充形状,也就是Fill开头的一系列函数。

当然Graphics还有很多其他函数,看看说明就应该知道了吧,下一次讲一个五子棋的实现过程。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值