C#GDI+编程基础(一:Graphics画布类)

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事件响应方法

 

1

2

3

4

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填充区域

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

from:https://www.cnblogs.com/huacw/p/3775265.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值