C# GDI+绘图(一)GDI+介绍及基础

简介: 最近,项目中,有一块比较发杂的网格,并在网格上绘有各种颜色和文本,在Dev库中并未找到能实现这种功能的现有或可以二次开发的控件,因此,涉及到GDI+绘图这块陌生的领域。下面即时我在本次学习过程中的笔记,本次内容一共分为4篇,分别都有各自的代码或工程文件提供,有需要的朋友可以下载。

C# GDI+绘图(一) GDI+介绍及基础

C# GDI+绘图(二)进阶---Pen/Brush以及坐标轴平移和旋转等

C# GDI+绘图(三)GDI+实现QQ截图类似功能

C# GDI+绘图(四)实现网格绘制,并填充相应的表格内容

下面我们进入主题:

GDI+:Graphics Device Interface Plus也就是图形设备接口,提供了各种丰富的图形图像处理功能;在C#.NET中,使用GDI+处理二维(2D)的图形和图像,使用DirectX处理三维(3D)的图形图像,图形图像处理用到的主要命名空间是System . Drawing:提供了对GDI+基本图形功能的访问,主要有Graphics类、Bitmap类、从Brush类继承的类、Font类、Icon类、Image类、Pen类、Color类等.

  大概了解了什么是GDI+后,我们来看一下绘图要用到的主要工具,要画图,肯定要画板吧,在C#中画板可以通过Graphics这个类来创建,有了画板,总得弄个笔什么之类的吧,不然怎么画呀,难不成我们用手指画.笔又可以分好多种类,比如铅笔,画刷等.它们的区别主要是铅笔可以用来画线条,而画刷呢,我自己的理解是可以画一片色彩,(自己考虑下).在c#中我们可以用Pen,Brush类来实现类似功能.颜料则自然是用Color类了.

有了工具,我们就可以开始动手了!(所需命名空间:using System.Drawing;)

 

实现效果:在空白窗体中画基本图形

  准备一个画板:

  创建一个画板主要有3种方式:

  A: 在窗体或控件的Paint事件中直接引用Graphics对象

  B: 利用窗体或某个控件的CreateGraphics方法

  C: 从继承自图像的任何对象创建Graphics对象

这次我们就先以A为例:

private void Form1_Paint(object sender, PaintEventArgs e)    
{      
    Graphics g = e.Graphics; //创建画板,这里的画板是由Form提供的.    
}

接下来我们就可以来画画了.

private void Form1_Paint(object sender, PaintEventArgs e)    
{      
    Graphics g = e.Graphics; //创建画板,这里的画板是由Form提供的.      
    Pen p = new Pen(Color.Blue, 2);//定义了一个蓝色,宽度为2的画笔 
    g.DrawLine(p, 10, 10, 100, 100);//在画板上画直线,起始坐标为(10,10),终点坐标为(100,100)        
    g.DrawRectangle(p, 10, 10, 100, 100);//在画板上画矩形,起始坐标为(10,10),宽为,高为         
    g.DrawEllipse(p, 10, 10, 100, 100);//在画板上画椭圆,起始坐标为(10,10),外接矩形的宽为,高为100   
}


本篇,基础介绍就先到这里,下一篇C#GDI+绘图(二)进阶---Pen/Brush以及坐标轴平移和旋转等,我会介绍Pen/Brush以及坐标轴平移和旋转等内容,并会附上具体的代码和工程代码。

相关文章
|
C#
用C#绘图实现动画出现卡屏(运行慢)问题的解决办法
原文:用C#绘图实现动画出现卡屏(运行慢)问题的解决办法 正在用C#做一个小游戏,需要用到动画,上次解决的问题是闪烁问题,用双缓冲技术。以为不会有什么问题了。后来当把图片全部绘制上去的时候依然出现了卡屏的问题。
1034 0
|
7月前
|
C#
C# GDI+绘图(四)实现网格绘制,并填充相应的表格内容
C# GDI+绘图(四)实现网格绘制,并填充相应的表格内容
|
7月前
|
C#
C# GDI+绘图(三)GDI+实现QQ截图类似功能
C# GDI+绘图(三)GDI+实现QQ截图类似功能
|
7月前
|
C#
C# GDI+绘图(二)进阶---Pen/Brush以及坐标轴平移和旋转等
上一篇C# GDI+绘图(一)GDI+介绍及基础,我们介绍了,GDI+的基础,这篇我们对其进阶内容进行学习,分别为Pen/Brush以及坐标轴操作
|
程序员 C# 图形学
使用 C# Graphics 绘图来绘制一个足球
2022卡塔尔世界杯是足球爱好者的狂欢,这与我毫无关系,作为一个缺乏运动的人,还是不要去看人家玩命的运动了。虽然不看球,不过这波热度的持续冲击,还是让我在朋友圈刷到了结局 ———— 球王梅西如愿以偿捧得金杯,后起之秀姆巴佩加冕金靴。但作为程序员,为了增加一些参与感我就拿 C# 画个足球图案吧。
164 0
使用 C# Graphics 绘图来绘制一个足球
C#编程-128:GDI绘图基础知识
C#编程-128:GDI绘图基础知识
C#编程-128:GDI绘图基础知识
C#(三十五)之在滚动窗口中绘图
窗体中的三个属性: Size:窗体大小(包括标题栏和边框) ClientSize:工作区大小(不包括标题栏和边框) AutoScrollMinSize:出现滚动条的最小尺寸
180 0
C#(三十五)之在滚动窗口中绘图
|
小程序 C# 图形学
C#(三十二)之Windows绘图
本篇内容记录了Windows绘图的基本概念、操作和清除刚刚绘制的画像等
154 0
C#(三十二)之Windows绘图
C#编程-128:GDI绘图基础知识
C#编程-128:GDI绘图基础知识
101 0
C#编程-128:GDI绘图基础知识