关于C#GDI绘图
来源:互联网 发布:日本类似淘宝的网站 编辑:程序博客网 时间:2024/05/23 01:20
===========================================================
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
最近对GDI+这个东西接触的比较多,也做了些简单的实例,比如绘图板,仿QQ截图等.
最早接触这个类,是因为想做仿QQ截图的效果.巧的很,学会了如何做截图后,.NET课堂上老师也正巧要讲关于c#绘图方面的知识,并且我自己又在网上学习金老师的培训班,也是要用到这个类.在学习中有一些体会,所以准备把这些体会记下来,因为内容比较多,可能我会分几次写.
废话不多说了,我们先来认识一下这个GDI+,看看它到底长什么样.
GDI+:Graphics Device Interface Plus也就是图形设备接口,提供了各种丰富的图形图像处理功能;在C#.NET中,使用GDI+处理二维(2D)的图形和图像,使用DirectX处理三维(3D)的图形图像,图形图像处理用到的主要命名空间是System . Drawing:提供了对GDI+基本图形功能的访问,主要有Graphics类、Bitmap类、从Brush类继承的类、Font类、Icon类、Image类、Pen类、Color类等.
大概了解了什么是GDI+后,我们来看一下绘图要用到的主要工具,要画图,肯定要画板吧,在C#中画板可以通过Graphics这个类来创建,有了画板,总得弄个笔什么之类的吧,不然怎么画呀,难不成我们用手指画.笔又可以分好多种类,比如铅笔,画刷等.它们的区别主要是铅笔可以用来画线条,而画刷呢,嘿嘿,自己考虑下.在c#中我们可以用Pen,Brush类来实现类似功能.颜料则自然是用Color类了.
有了工具,我们就可以开始动手了!(所需命名空间:using System.Drawing;)
实现效果:在空白窗体中画基本图形
首先准备一个画板:
创建一个画板主要有3种方式:
A: 在窗体或控件的Paint事件中直接引用Graphics对象
B: 利用窗体或某个控件的CreateGraphics方法
C: 从继承自图像的任何对象创建Graphics对象
这次我们就先以A为例说明问题:
然后,我们要只笔:
接下来我们就可以来画画了.
C#GDI+ winform简单画图(1)
最近一直在画自定义控件,所以研究一下GDI+对画图的操作,先介绍一下GDI,全称为Graphics Device Interface,含义是图形设备接口,它的主要任务就是负责系统与绘图程序之间的信息交换。
对于画图其实并不是很麻烦的,我们只需要会用几个对象就行,一个是Graphics对象,该对象封装了一个绘图图面,Graphics对象的创建一般是用控件自带的CreateGraphics()方法得到该对象,还可以用控件的Paint或者重写窗体的OnPaint事件里面有一个PaintEventArgs e的参数,用e.Graphics获取Graphics对象,另一种方法是Bitmap bitmap = new Bitmap(this.Width, this.Height); Graphics gra = Graphics.FromImage(bitmap); 创建。这个对象是画图必须的
有了画面,我们下面要得就是画笔了,在这里我们用到是Pen类,它提供了画笔,创建简单的画笔我们只需要Pen p=Pens.Red;Pens提供了各种颜色的画笔,我们还可以用new来创建画笔。例如:Pen p = new Pen(Color.Blue,12);该句是创建了一个颜色为蓝色,宽度为12的画笔。
这些对象都是System.Drawing;命名空间所提供的,
现在我们用窗体的Paint事件来举一个画矩形的简单的例子:
Graphics g = e.Graphics; //利用该事件的参数e创建画面对象
Rectangle r = new Rectangle(10, 10, 300, 200);//是创建画矩形的区域
g.DrawRectangle(Pens.Red, r);//g对象提供了画图形的方法,我们只需调用即可
上边图就 是该三句代码所完成的,只是画了一个矩形的轮廓,g对象还提供了填充画的区域方法:如
实现填充我们将用到g对象的提供另一个方法,g.FillRectangle(Brushes.Red, r);另外还用到了Brush对象,该对象是画刷,用来填充指定的颜色的,它的创建和Pen的创建是一样的,可以用new,也可以用Brushes类来直接创建
画其他图形和画矩形是一样的,我们只需调用相应的方法即可,可以自己试试
- 关于C#GDI绘图
- visual c++GDI绘图
- C#GDI绘图
- C#GDI绘图流程
- C#GDI+简单绘图
- C++/MFC-GDI绘图
- C#关于GDI+绘图(一)
- C#关于GDI+绘图(二)
- C#关于GDI+绘图(三)
- C#关于GDI+绘图(四)
- C#关于GDI+绘图(五)
- C# 使用GDI绘图技术
- 关于GDI绘图的新手说明
- 关于 GDI+ 绘图的辅助类
- 有关c#GDI绘图的一些方法
- C语言 GDI绘图学习目标设定
- (C#) GDI+简单绘图画直线
- (C#)GDI+简单绘图画多边形
- Herd Sums
- hive学习笔记-函数篇(-)持续更新中
- 使用phonegap插件启动另一个Android+Activity
- 整理文档
- DDR 初始化的一些代码
- 关于C#GDI绘图
- SPJ初体验
- 结构体和类的区别
- Android知识点四:头部滑动菜单
- OC学习之路之内存管理
- C语言中字符串常量到底存在哪了?
- poj 3276--Face The Right Way(反转)
- 求1到20的阶乘之和:1+2!+3!+...+20!
- 方法和成员变量在内存中的位置