GDI+ 入门编程

一.坐标系统

从绘图区域的最左上角为(0,0)

正方向:X轴正方向为水平向右,Y轴正方向为垂直向下

二.System.Drawing 命名空间

System.Drawing 命名空间中的常用类

类名: 说明

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

Brush 定义填充图形形状

Font 定义特定的文本格式,包括字体,字号

Graphisc                  封装一个GDI+绘图图画

Pen 定义用于绘制直线和曲线的对象

Region 指示由矩形和路径构成的图形形状的内部

System.Drawing 命名空间中的常用结构

结构 说明

Color      表示RGB颜色

Point 表示在二维平面中定义的点,整数X和Y坐标的有序对

Rectangle  存储一组整数,共4个,表示一个矩形的位置和大小。对于更高级的区域函数,

Size 存储一个有序整数对,通常为矩形的宽度和高度

三.Graphics类

1.Graphics不能直接实例化

实例化方法:

a.控件类的OnPaint()方法参数PaintEventArg获取Graphics对象。

b.窗体类或控件类中的CreateGraphics()方法获得Graphics对象

c.从位图对象(Bitmap)产生一个Graphics对象

2.Graphics类的常用方法

名称 说明

Disponse 释放由Grapics使用的所有资源

DrawEllipse 绘制一个有边框(改边框由一对坐标,高度和宽度指定)定义的椭圆

DrawArc 绘制弧形

DrawLine 绘制一条直线

DrawPolygon 绘制有一组Poin结构定义的多边形

DrawRectangle  绘制由坐标对,高度和宽度指定的矩形

DrawPie 绘制一个扇形

DrawCurve 绘制曲线,由参数Point数组指定

FillEllipse 填充所定义的椭圆内部

FillRegion 填充Region内部

ScaleTransform 将指定的缩放操作应用于此Graphics

TanslateTransform 平移更改坐标系统原点

四.绘图工具类

1.Pen类

Pen可以设置笔的颜色,线条的粗细和线条的样式

实例:

Graphics g =this.CreateGraphics();
Pen p = new Pen(Color.Black);
g.DrawLine(p,0,0,10,10);
g.Disponse();
p.Disponse();

更详细:http://msdn.microsoft.com/zh-cn/library/system.drawing.pen.aspx

2.Brush类

Brush类(画刷),用于填充图形。

Brush类的派生类

名称 说明

ImageBrush 图像绘制区域

LinearGradientBrush 线性渐变区域

RadialGradientBrush 径向渐变绘制区域

SolidColorBrush 单色绘制区域

VideoBrush 视频内容绘制内容

实例:

Graphics g = this.CreateGraphics();
Pen p = new Pen(Color.Balck);
Brush b = p.Brush;
Rectangle r = new Rectangle(50,50,100,100);
g.FillRectangle(b.r);

更详细:http://msdn.microsoft.com/zh-cn/library/system.windows.media.brush(v=vs.110).aspx

3.Font类

绘制文本时,可设置字体的样式,大小,以及字体的种类。

实例:

Graphics g = this.CreateGraphics();
Font  f= new Font("隶书",24,FontStyle.Italic);
Pen p = new Pen(Color.Blue);
g.DrawString("GDI+入门编程",f,p.Brush,50,50);
4.坐标的平移与缩放

a.TranslateTransform改变坐标系统的原点

 Graphics g = this.CreateGraphics();
Pen p = new Pen(Color.black);
g.TranslateTransform(10,50);/*把坐标系统的原点移动到(10,50)*/
g.DrawRectangle(p,0,0,200,100);
g.DrawEllipse(p,0,0,200,100);
p.Dispose();
g.Dispose();
b.ScaleTransform缩小或放大

Graphics g = this.CreateGraphics();
Pen p = new Pen(Color.black);
g.ScaleTransform(1.5,2);/*把坐标系统的原点移动到(10,50)*/
g.DrawRectangle(p,0,0,200,100);
g.DrawEllipse(p,0,0,200,100);
p.Dispose();
g.Dispose();
五.图形控件的使用

1.Picturebox控件

图片框是操作图形图像的基本控件,主要用于显示,保存图形图像信息

属性 说明

Image 设置或获取该控件显示的图像

SizeMode 指示如何显示图像

方法 说明

Load 显示图像

实例:在图像中写入文字

Graphics g = Graphics.FromImage(pictureBox2.Image);
Pen p = new Pen(Color.Black);
Font f = new Font("隶书",10,FontStyle.Italic);
g.DrawString("写入图片文字",f,p.Brush,0,0);
p.Dispose();
g.Dispose();
pictureBox2.Refresh();//刷新当前控件,显示出字体
2.Bitmap类

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

Bitmap常用的属性及其方法

属性 说明

Size 获取此图像的以像素为单位的宽度和高度

方法 说明

FromFile 从指定的文件创建图像

FromStream 从指定的数据流创建文件

GetPixel 获取此Bitmap中指定像素的颜色

MakeTransparent 使用默认的透明对此Bitmap透明

Save 保存到相应路径中

RotateFlip 旋转,翻转 或者同时旋转和翻转

Bitmap bt = new Bitmap(this.ClientSize.Width,this.ClientSize.Height,System.Drawing.Imaging.PixelFormat.Format32bppArgb);
Graphics g = Graphics.FromImage(bt);
Font f = new Font("隶书",10,FontStyle.Italic);
Pen p = new Pen(Color.Black);
g.DrawString("我是Bitmap",f,p.Brush,0,0);
pictureBox2.Image = bt;






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值