GDI+概括

本文介绍如何使用GDI+进行基本绘图操作,包括线条、圆形和矩形的绘制,以及如何设置颜色、画笔和画刷。此外还讲解了如何通过变换坐标系实现坐标平移、角度变换和图像比例调整。
//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矩形区域来表示
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值