您的位置:首页 > 编程语言

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

2008-12-22 21:34 411 查看
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即可,

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

        private void pictureBox1_Paint(object sender, PaintEventArgs e)

        {

            Pen p = new Pen(Color.Red,2.0f);

            //画线

            e.Graphics.DrawLine(p, 0, 0, 200, 200);

            //画圆

            p.Color = Color.Green;

            e.Graphics.DrawEllipse(p,new Rectangle(10,10,100,100));

            //填充圆

            p.Color = Color.Green;

            e.Graphics.FillEllipse(Brushes.Brown, 10, 10, 100, 100);

            //画椭圆

            p.Color = Color.Indigo;

            e.Graphics.DrawEllipse(p,new Rectangle(10,10,130,170));

            //画字符串

            p.Color = Color.Yellow;

            e.Graphics.DrawString("这是画出来的文本", this.Font, Brushes.Blue, 20.0f, 20.0f);

        }



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

当然Graphics还有很多其他函数,看看说明就应该知道了吧,下一次讲一个五子棋的实现过程。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息