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还有很多其他函数,看看说明就应该知道了吧,下一次讲一个五子棋的实现过程。。。
他包含了 绘图设备,画笔,画刷,颜色等各种东西,反正就是那些窗口控件什么的都是用他画出来的,比如 按钮,菜单
滚动条什么的。
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还有很多其他函数,看看说明就应该知道了吧,下一次讲一个五子棋的实现过程。。。
相关文章推荐
- GDI+ 游戏编程之1: 基本要求
- 浅析Go语言编程当中映射和方法的基本使用
- 使用J2ME Polish进行游戏编程
- Python -- Gui编程 -- Tkinter的使用 -- 基本控件
- Android游戏编程之基本图形编程
- GDI+编程10个基本技巧
- GDI+编程10个基本技巧
- 向量几何在游戏编程中的使用2
- 向量几何在游戏编程中的使用【5】物体的旋转
- 向量几何在游戏编程中的使用3
- OpenGL基础图形编程(六)OpenGL辅组库的基本使用
- linux网络编程--网络编程的基本函数介绍与使用【转】
- 向量几何在游戏编程中的使用5
- c#经典编程实例(一基本的输入输出和循环数组的使用)
- C#中GDI+编程10个基本技巧二
- 向量几何在游戏编程中的使用2
- 学习HBase与HDFS的基本编程使用
- 使用Libgdx进行游戏开发(11)-高级编程技巧
- shell的基本使用及vi 编程
- IOS学习之 网络编程(4)--NSURLConnection基本使用