C 学习笔记30——C GDI+绘图

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

GDI+ 是 Windows XP 操作系统中提供二维矢量图形、图像处理和版式的部分。GraphicsDevice Interface Plus也就是图形设备接口,提供了各种丰富的图形图像处理功能;在C#.NET中,使用GDI+处理二维(2D)的图形和图像,使用DirectX处理三维(3D)的图形图像,图形图像处理用到的主要命名空间是System . Drawing:提供了对GDI+基本图形功能的访问,主要有Graphics类、Bitmap类、从Brush类继承的类、Font类、Icon类、Image类、Pen类、Color类等。

 

一、GDI+相关命名空间、类、结构
1、主要有由以下几个命名空间组成
System.Drawing; 核心的命名空间,定义了基本的绘制类型如:(字体、钢笔、画笔、Graphics)
System.Drawing.Drawing2D; 提供了一组操作二维矢量图和几何图形的类型
System.Drawing.Printing; 打印相关类型
System.Drawing.Imaging; 操作图像的一组类型
System.Drawing.Text; 操作字体的一组类型

System.Drawing.Graphics :封装一个 GDI+ 绘图图面,Graphics 类提供将对象绘制到显示设备的方法.

System.Drawing.Image : 为源自bitmap 和 metafile 的类提供功能的抽象基类

System.Drawing.Bitmap :封装 GDI+ 位图,此位图由图形图像及其属性的像素数据组成。

Bitmap 是用于处理由像素数据定义的图像的对象

System.Drawing.Imaging.Metafile :定义图形图元文件。图元文件包含描述一系列图形操作的记录, 这些操作可以被记录(构造)和被回放(显示)。此类不能继承

System.Drawing.Font :定义特定的文本格式,包括字体、字号和字形属性。无法继承此类。

System.Drawing.Brush :定义用于填充图形形状(如矩形、椭圆、饼形、多边形和封闭路径)的内部的对象

System.Drawing.Color :表示 ARGB(一种色彩空间,也就是RGB色彩空间附加上Alpha(透明度)通道,常见于32位位图的存储结构) 颜色

System.Drawing.Drawing2D.Matrix :封装表示几何变换的 3 x 3 仿射矩阵。无法继承此类。

System.Windows.Forms.TextRenderer :提供用于测量和呈现文本的方法。无法继承此类。

双缓冲:为了避免闪屏,先把要显示的图象在内存实现,然后把实现后的图象一起传到要显示的区域。


2、常用类型
主要类型
Graphics、Pen、Brush、Color、Font、Region、StringFormat、Point、Rectangle、Size等。

Graphics对象

(1)利用窗体或控件的Paint事件的参数PaintEventArgs创建Graphics对象。

(2)使用窗体或控件的CreateGraphics方法

Graphics g=this.CreateGraphics();

(3)使用Image的派生类创建Graphics对象。使用Image的任何派生类均可以生成相应的Graphics对象,这种方法一般适用于在C#中对图像进行处理的场合。

Bitmap b=new Bitmap("Mybmp.bmp");

Graphics g=Graphics.FromImage(b);

Pen对象

Pen类的构造函数有四种,使用方法如下。

(1)创建某一颜色的Pen对象:public Pen(Color)

(2)创建某一刷子样式的Pen对象:public Pen(Brush)

(3)创建某—刷子样式并具有相应宽度的Pen对象:publicPen(Brush,float)

(4)创建某一颜色和相应宽度的Pen对象:public Pen(Color,float)

Pen对象的常用属性

(1)Alignment属性:用来获取或设置此Pen对象的对齐方式。

(2)Color属性:用来获取或设置此Pen对象的颜色。

(3)Width属性:用来获取或设置此Pen对象的宽度。

(4)DashStyle属性:用来获取或设置通过此Pen对象绘制的虚线的样式。

(5)DashCap属性:用来指定虚线两端风格,是一个DashCap枚举型的值。

(6)StartCap属性:用来获取或设置通过此Pen对象绘制的直线起点的帽样式。

(7)EndCap属性:用来获取或设置通过此Pen对象绘制的直线终点的帽样式。

(8)PenType属性:用来获取用此Pen对象绘制的直线的样式。

Font对象

Font用于定义特定的文本格式,包括字体、字号和字形属性。

下表列举了常用方法和属性。

下面这行代码将构建一个10磅大小的宋体字体。

System.Drawing.Font f1 = newSystem.Drawing.Font("宋体",10);


Image对象

Image是为源自Bitmap和Metafile的类提供功能的抽象基类。下表列举了常用的方法和属性。

Image不可以实例化,但可以通过方法来构造:

System.Drawing.Image img1 =System.Drawing.Image.FromFile(Server.MapPath("~/logo.gif"));

Image是基类,封装了很多有用的属性和方法,而实际运用时,尤其在生成或者修改图像的时候,一般用其派生类Bitmap表示内存中的图形。Bitmap是用于处理由像素数据定义的图像的对象,是图像处理开发中最常用的对象。用户可以通过多种途径构造Bitmap对象。

System.Drawing.Bitmap bmp1 = newSystem.Drawing.Bitmap(Server.MapPath("~/logo.gif")); // 通过文件构造

System.Drawing.Bitmap bmp2 = newSystem.Drawing.Bitmap(300,200)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值