C#GDI+编程基础(一:Graphics画布类)
2024-10-01 07:35:11
GDI+存在的意义:将变成与具体硬件实现细节分开。
GDI+步骤:获取画布,绘制图像、处理图像
命名空间:
using System.Drawing;//提供对GDI+基本图形功能的访问
using System.Drawing.Drawing2D;//提供高级的二维和矢量图像功能
using System.Drawing.Imaging;//提供高级GDI+图像处理功能
using System.Drawing.Printing;//提供打印相关服务
using System.Drawing.Text;//提供高级GDI+排版功能
using System.Drawing.Design;//扩展设计时,用户界面逻辑和绘制的类。用于扩展,自定义
画图工具:
Graphics(画布):类封装一个GDI+绘图图面,提供将对象绘制到显示设备的方法,Graphics与特定的设备上下文关联。画图方法被包括在
Graphics类中,在画任何对象之前都需要创建一个Graphics类实例作为画图。
创建画布三种方法:
1.利用控件或窗体的Paint事件的PaintEventArgs
适用场景:为控件创建绘制代码。
示例:
//窗体的Paint事件响应方法
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
}
//直接重载控件或者窗体的OnPaint方法:
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics g = e.Graphics;
}
注意:Paint事件在重绘控件时发生。
2.调用某控件或窗体的CreateGraphics方法以获取对Graphics对象的引用,该对象表示控件或窗体的绘图图面。
适用场景:在已经存在的窗体或控件上绘图
private void button1_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
g.Dispose(); }
3.由从Image继承的任何对象创建Graphics对象
适用场景:需要更改已经存在的图像
private void button1_Click(object sender, EventArgs e)
{
Image img = Image.FromFile(@"images\pic.jpg");
Graphics g=Graphics.FromImage(img);
}
Graphics类主要成员方法:
名称 | 说明 |
DrawArc | 画弧 |
DrawBezier | 画立体的贝塞尔曲线 |
DrawBeziers | 画连续立体的贝塞尔曲线 |
DrawClosedCurve | 画闭合曲线 |
DrawCurve | 画曲线 |
DrawEllipse | 画椭圆 |
DrawImage | 画图像 |
DrawLine | 画线 |
DrawPath | 通过路劲画线和曲线 |
DrawPie | 画饼图 |
DrawPolygon | 画多边形 |
DrawRectangle | 画矩形 |
DrawString | 绘制文字 |
FillEllipse | 填充椭圆 |
FillPath | 填充路劲 |
FillPie | 填充饼图 |
FillPolygon | 填充多边形 |
FillRectangle | 填充矩形 |
FillRectangles | 填充矩形组 |
FillRegion | 填充区域 |
最新文章
- 使用my exclipse对数据库进行操作(3)
- heroku部署java web项目
- Snort - manual 笔记(二)
- Django——model字段类型 2
- memcpy、memmove、memset
- 拖数据库到x-code常见错误
- Windows7安装SQL Server 2008图解
- PCB抄板评估需要关注的因素
- 使用WindowManager添加您自己的自定义视图
- Error with mysqld_safe
- Android SDK文档如何查找
- centos中NAT模式下静态IP连接外网
- java 线程 理解 解析
- Java集合框架之四大接口、常用实现类
- 系统开发中使用拦截器校验是否登录并使用MD5对用户登录密码进行加密
- CSCI 1100 — Computer Science 1 Homework
- Django中一个项目使用多个数据库
- Kafka监控工具KafkaOffsetMonitor配置及使用
- Nginx七层反向代理和负载均衡
- MongoDB的固态list