• C#学习记录——GDI+绘图基础


    GDI+绘图基础

    GDI+概述

    GDI+指的是.NET Framework 4.0中提供二维图形、图像处理等功能,是构成Windows操作系统的一个子系统,它提供了图形图像操作的应用程序编程接口(API)。使用GDI+可以用相同的方式在屏幕或打印机上显示信息,而无须考虑特定显示设备的细节。GDI+类提供程序员用以绘制的方法,这些方法随后会调用特定设备的驱动程序。GDI+将应用程序与图形硬件分隔,使程序员能够创建与设备无关的应用程序。GDI+主要用于在窗体上绘制各种图形图像,可以用于绘制各种数据图形、数学仿真等。GDI+可以在窗体程序中产生很多自定义的图形,便于开发人员展示各种图形化的数据。

    创建Graphics对象

    (1)在Paint事件中创建Graphics对象。

    Private void Form1_Paint(object,PaintEventArgs e)
    {
    	Graphics g = e.Graphics;
    }
    
    • 1
    • 2
    • 3
    • 4

    (2) 在窗体的Load事件中,通过CreateGraphics方法创建Graphics对象。

    Private void Form1_Load(object sender,EventArgs e)
    {
    	Graphics g;
    	g = this.CreateGraphics();
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    (3) 在窗体的Load事件中,通过FromImage方法创建Graphics对象。

    Private void Form1_Load(object sender,EventArgs e)
    {
    	Bitmap mbit = new Bitmap(@"C:\Is.bmp")
    	Graphics g = Graphics.FromImage(mbit);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    创建Pen对象

    Pen 类主要用于绘制线条,或者线条组合成的其他几何形状。Pen类的构造函数如下。
    语法:

    public Pen(Color color,float width)
    
    • 1

    color:设置Pen的颜色。
    width:设置Pen的宽度。
    例如:

    //实例化一个Pen类,并设置其颜色和宽度
    Pen mypen1 = new Pen(Color.Blue,2);
    
    • 1
    • 2

    创建Brush对象

    Brush类主要用于填充几何图形,如将正方形和圆形填充其他颜色。
    Brush类是一个抽象基类,不能进行实例化。若要创建一个画笔对象,需要使用从Brush派生出的类,如下面的3个派生子类:
    (1)SolidBrush类,构造器如下:

    public SolidBrush(Color color)
    
    • 1

    color:表示此画笔的颜色。
    (2)HatchBrush类,构造器如下:

    public HatchBrush(HatchStyle hatchstyle,Color foreColor)
    
    • 1

    hatchstyle:HatchStyle值之一,表示此HatchBrush所绘制的图案
    foreColor:Color结构,它表示此HatchBrush所绘制线条的颜色。
    (3)LinerGradientBrush类,构造器如下:

    public LineGradientBrush(Point point1,Point point2,Color color1,Color color2)
    
    • 1

    样例:

    using System.Windows.Forms;
    
    namespace Alei
    {
    	public partial class Form1:Form
    	{
    		InitializeComponent();
    	}
    	private void button1_Click(object sender,EventArgs e)
    	{
    		Graphics ghs = this.CreateGraphics();        //创建Graphics对象
    		Brush mybs = new SolidBrush(Color.Red);      //使用SolidBrush类创建一个Brush对象
    		Rectangle rt = new Rectangle(10,10,100,100); //绘制一个矩形
    		ghs.FillRectangle(mybs,rt);                  //用Brush填充Rectangle
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
  • 相关阅读:
    文件对象的常用方法和属性
    ognl表达式和值栈
    java计算机毕业设计Web企业客户管理系统源码+mysql数据库+系统+lw文档+部署
    AQS之Semaphore分析 (七)
    52. N皇后 II(难度:困难)
    前后端分离跨域问题及SameSite=Lax解决方法
    51单片机DHT11温湿度控制系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频)
    LeetCode 55. 跳跃游戏
    PostgreSQL中插件如何新增一个配置项
    队列(Queue)的顶级理解
  • 原文地址:https://blog.csdn.net/u013097500/article/details/128009196