2024年4月26日发(作者:)
C# GDI+ 简单绘图(一)
最近对GDI+这个东西接触的比较多,也做了些简单的实例,比如绘图板,仿QQ截图等.
废话不多说了,我们先来认识一下这个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 g;)
实现效果:在空白窗体中画基本图形
准备一个画板:
创建一个画板主要有3种方式:
A: 在窗体或控件的Paint事件中直接引用Graphics对象
B: 利用窗体或某个控件的CreateGraphics方法
C: 从继承自图像的任何对象创建Graphics对象
这次我们就先以A为例:
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = cs; //创建画板,这里的画板是由Form提
供的.
}
然后,我们要只笔:
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = cs; //创建画板,这里的画板是由Form提
供的.
Pen p = new Pen(, 2);//定义了一个蓝色,宽度为的画
笔
}
接下来我们就可以来画画了.
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = cs; //创建画板,这里的画板是由Form提
供的.
Pen p = new Pen(, 2);//定义了一个蓝色,宽度为的画
笔
ne(p, 10, 10, 100, 100);//在画板上画直线,起始坐标
为(10,10),终点坐标为(100,100)
ctangle(p, 10, 10, 100, 100);//在画板上画矩形,起始
坐标为(10,10),宽为,高为
lipse(p, 10, 10, 100, 100);//在画板上画椭圆,起始坐
标为(10,10),外接矩形的宽为,高为
}
效果图如下:
其它一些绘图知识.
在上一片里已经向大家介绍了如何使用GDI+绘制简单的图像,这一片继续向大家介绍
1.首先我们来看下上一片中我们使用过的Pen.
Pen的属性主要有: Color(颜色),DashCap(短划线终点形状),DashStyle(虚线样
式),EndCap(线尾形状), StartCap(线头形状),Width(粗细)等.我们可以用Pen 来画虚线,带箭
头的直线等
Pen p = new Pen(, 5);//设置笔的粗细为,颜色为蓝色
Graphics g = Graphics();
//画虚线
yle = ;//定义虚线的样式为点
ne(p, 10, 10, 200, 10);
//自定义虚线
ttern = new float[] { 2, 1 };//设置短划线和空白部分的数组
ne(p, 10, 20, 200, 20);
//画箭头,只对不封闭曲线有用
yle = ;//实线
= nchor;//定义线尾的样式为箭头
ne(p, 10, 30, 200, 30);
e();
e();
以上代码运行结果:
发布评论