GDI+概括

来源:互联网 发布:centos 查看网卡uuid 编辑:程序博客网 时间:2024/04/28 22:53
//GDI+


//命名空间
using System;
using System.Drawing;//命名空间中的Graphics类用于各种设备上进行绘画的类,大量绘图工具访问权限,Brushes,Fonts,Pens
using System.Drawing.Drawing2D; //GraphicState类
using System.ComponentModel;
using System.Windows.Forms;


//Graphics类
//使用Graphics对像的方式:调用Form的GreateGraphics()方法
Graphics dc=this.GreateGraphics();


//进行绘画
//Draw开头的都是画图形的框架
//Fill开头的是以一种指定的颜色填充图形,比如dc.FillEllipse()--用给定的颜色画一个实心圆
dc.DrawLine();//画线条
dc.DrawEllipse();//画圆
dc.DrawRectangle();//画矩形


//Color颜色类
//Color是一个结构体,可以指定需要的颜色Color.BLACK


//Pen画笔类
//用来绘制形状的边框类,可以创建Pen的对象来使用
Pen pen = new Pen(color.RED);//创建一个红颜色的画笔


//Brush画刷类
//用指定的颜色来填充某区域,Brush是抽象类不能直接用new
Brush brush = new SolidBrush(Color.BLUE);//利用该类的子类创建画刷对象


//窗口都有一个Paint事件,表示当窗体的界面需要被重绘时就激发该事件
//paint事件对应的处理方法中PaintEventArgs e可以直接得到该窗体的绘画设备e.Graphics
private void Form1_Paint(object sender,System.Windows.Forms.PaintEventArgs e)
{
Graphics = e.Graphics;//得到绘画设备
dc.FillEllipse(new SolidBrush(Color.Blue),0,0,100,100);//画一个Blue实心圆
}


//StringFormat类用来设置字符串样式
//利用dc.DrawString方法在界面上绘制文件信息
private void Form1_Paint(object sender,System.Windows.Forms.PaintEventArgs e)
{
Graphics dc = e.Graphics;
StringFormat sf = new StringFormat();
sf.LineAlignment = StringAlignment.Center;
sf.Alignment = StringAlignment.Center;
sf.FormatFlags = StringFormatFlags.NoWrap;
//使用指定 StringFormat 的格式化属性,用指定的 Brush 和 Font 对象在指定的位置绘制指定的文本字符串
dc.DrawString("这里是文字",new Font("宋体",12F),new Solibrush(Color.Red),new Point(100,100),sf);
}


//Point表示坐标中的一个点
Point myPoint = new Point(int x,int y);
//Rectangle表示一个矩形,根据左上角的坐标与右下角的坐标来决定位置


//Graphics类的高级使用方法
//1。疫备坐标平移
//将原来默认的设备坐标进行更改,也就是将坐标原点进行更改
TranslateTransform(int x,int y)
//将更改之后的坐标位置作为参数传递给方法来设置目前的坐标原点


//2。设备坐标角度变换
RotateTransform(float angle)
//将指定的度数给该方法,来设置坐标的角度


//3。图象比例大小设整
ScaleTransform(int x,int y)
//给定的横,枞比例来设置屏幕坐标系


//当对Graphics对像进行更改后,之后的方法都有影响,可以用该对象的Save()保存/Restore()恢复设备状态
Graphics dc = this.CreateGraphics();
dc.DrawEllipse(...);//按照默认坐标系绘制圆形图画
GraphicsState gs = dc.Save();//保存这个时候的绘图设备状态
//使用其他设备样式
dc.RotateTransform(100F);//将坐标角度调整100度
dc.DrawLine(...);//调整100度后进行画线
//恢复原先的坐标系进行绘画
dc.Restore(gs);
dc.DrawEllipse(...);//按照恢复的默认坐标系绘图


//Graphics类中的Clear(Color color)方法清除用户原指定的区域,以给定的颜色填充界面


//Clip属性---设置绘画的区域
//该区域使用的是Region类来表示,可以是任何不规则区域,一般可以使用Rectangle矩形区域来表示