GDI:Graphics Device Interface.

System. Windows. Shapes 命名空间:

Ellipse

绘制一个椭圆。

Line

在两个点之间绘制一条直线。

Path

绘制一系列相互连接的直线和曲线。 直线和曲线维度通过Data属性声明,并且可以使用 Path 特定的 mini-language 或使用对象模型来指定。

Polygon

绘制一个多边形,它是形成闭合形状的一系列相互连接的直接。

Polyline

绘制一系列相互连接的直线。

Rectangle

绘制一个矩形形状,该形状可以具有笔画和填充。

Shape

为 Ellipse、Polygon 和 Rectangle之类的形状元素提供基类。

来自 <https://msdn.microsoft.com/zh-cn/library/system.windows.shapes(v=vs.95).aspx>

实例代码:

Graphics g = this.CreateGraphics(); 

Pen pen = new Pen(Color.Red, ); //笔画
Brush brush = new SolidBrush(Color.Blue); //用来填充
Font font = new Font("宋体", );//文字 //绘制一个矩形形状,该形状可以具有笔画和填充。
Rectangle rect = new Rectangle(, , , ); g.DrawLine(pen, , , , ); //两个点的坐标(上、左;上、左)
g.DrawRectangle(pen, rect);
g.DrawString("GDI+", font, brush, , );//文字起始位置
brush.Dispose(); font.Dispose(); pen.Dispose();
g.Dispose(); //释放资源

.net中GDI的封装:

Color的静态方法:

FromArgb: 通过三原色构建Color对象;

FromKnownColor:通过已知颜色构建Color对象;

FromName:通过颜色名称来构建Color对象。

Color temp1 = Color.Blue;

Color temp2 = Color.FromArgb(,,);

Color temp3 = Color.FromName("blue");

Size和SizeF:

表示绘制平面上的一个尺寸,一个为整数,一个为浮点数;

Size sz1 = new Size(,);

属性:Width: 表示宽度值,Height: 表示高度值;

重载了加减、比较、赋值操作:

 Size sz1 = new Size(,);

 Size sz2 = sz1;            

 Size sz3 = sz1 + sz2;

Point和PointF:

表示绘制平面上点的坐标,一个为整数,另外一个为浮点数;

Point pt1 = new Point(,);

重载了加减、比较、赋值操作;

Rectangle和RectangleF:

绘制平面上的一个矩形区域

GDI绘制函数图:

void MainFormPaint(object sender, PaintEventArgs e)
{
//垂直坐标
Graphics g = e.Graphics;
PointF [] cur1 = new PointF[ ]; //生成所需要的点 //函数
for( int i=; i<cur1.Length; i++ )
{
double x = (double)i/;
double y = Math.Sin(x) * + Math.Cos( *x );
cur1[i] = new PointF( (float)i, (float)( y*+ ));
}
//将点练成线
g.DrawLines( Pens.Blue, cur1 ); //极坐标
PointF [] cur2 = new PointF[ ];//生成所需要的点 //函数
for( int i=; i<cur2.Length; i++ )
{
double theta = Math.PI/ * i;
double r = Math.Cos( theta * );
cur2[i] = new PointF(
(float)( r * Math.Cos( theta ) * + ),
(float)( r * Math.Sin( theta ) * + ) );
}
g.DrawLines( Pens.Blue, cur2 );
}

效果:

.NET中的GDI+的更多相关文章

  1. 在MFC中使用GDI+的一般方法,以VC6.0编译器为例

    1.载解压GDI+开发包: 2.正确设置include & lib 目录: 设置如下:VC6.0编译器菜单Tools->Options->Directories中添加inlude ...

  2. VS2013中使用GDI+绘图

    VC范例,400多个例子源代码下载 http://download.csdn.net/detail/bigtree_mfc/7727977 VS2013中使用GDI+绘图和VC6.0不同,在VC6.0 ...

  3. Delphi中使用GDI+进行绘图(1)

    Delphi的VCL类库中,默认使用的是GDI绘图接口,该接口封装了Win32 GDI接口,能够满足基本的绘图功能,但如果要实现更高级的绘图功能,往往比较困难,GDI+是微软在GDI之后的一个图形接口 ...

  4. vs2008中使用gdi+的设置

    vs2008中使用gdi+ 1.新建一个mfc工程 2.在stdafx.h文件中加入以下几行语句: #include <gdiplus.h>                //#pragm ...

  5. [转]C#中基于GDI+(Graphics)图像处理系列之前言

    直接给出原文链接吧: C#中基于GDI+(Graphics)图像处理系列之前言 链接:https://pan.baidu.com/s/1zm5TCOHqkqEfiLZuqO0UMA 提取码:qz0h

  6. VC中使用GDI+实现为按钮加载Png图片

    http://blog.csdn.net/flyfish1986/article/details/5381605 VC中使用GDI+实现为按钮加载Png图片 http://www.codeprojec ...

  7. C#中的GDI+图形绘制方法

    GDI+图形绘制方法 1.首先对于绘制图形,必须的先将命名空间导入:using System.Drawing.Drawing2D; 2.然后在一个事件中写入程序 首先先将Graphics这个对象实例化 ...

  8. 在VS2012中使用GDI+

    首先说明,在VS的较高版本中,已经包含GDI+的SDK,不用再次下载,只需要使用前应用相应的头文件,添加些代码即可.但是VC6.0中,没有GDI+SDK,需要同志们下载才行. 步骤: 1.在stdaf ...

  9. VB中的GDI编程-2 画笔

    p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...

随机推荐

  1. Android Studio中使用android:src="@drawable/ic_launcher"报错

    今天尝试着安装了Android Studio,界面确实不错,列表什么的也改了很多. 然后新建工程,习惯性在activity_main那里加上一段代码测试看看: <ImageView androi ...

  2. aircack-ng抓握手包

    1.关闭影响进程 airmon-ng check kill 将要进入监听模式的无线网卡断开它已连接的AP 2.查看无线网卡的名字 ifconfig ,例如 wlan0 3.进入监听模式: airmon ...

  3. chrome内核浏览器input边框

    直接给input加outline:none和设置input {outline:none}都没效 最后逼得没法,*:focus { outline: none; },然后整个世界就安静了,嚯嚯

  4. 《数据结构》之串的模式匹配算法——KMP算法

    //串的模式匹配算法 //KMP算法,时间复杂度为O(n+m) #include <iostream> #include <string> #include <cstri ...

  5. (四)装饰模式-C++实现

    动态地给对象添加一些额外的职责.就功能来说,装饰模式相比派生子类更为灵活. 当需要改进类的某个功能,而不是该类创建的全部对象时,可以使用这种设计模式. 装饰模式中有四种角色; 1.抽象组件:我们需要改 ...

  6. jsp前三章小测试:错题

    /bin:存放各种平台下用于启动和停止Tomcat的脚本文件 /logs:存放Tomcat的日志文件 /webapps:web应用的发布目录 /work:Tomcat把由JSP生成的Servlet存放 ...

  7. AC日记——找最大数序列 openjudge 1.9 10

    10:找最大数序列 总时间限制:  1000ms 内存限制:  65536kB 描述 输入n行,每行不超过100个无符号整数,无符号数不超过4位.请输出最大整数以及最大整数所在的行号(行号从1开始). ...

  8. [AIR] as3 之条件编译多平台妙用

    http://bbs.9ria.com/thread-418864-1-1.html 一直希望as3 可以支持条件编译,即满足A时编译函数1,满足B时则编译函数2. 最佳百度了之后,发现原来是可以实现 ...

  9. document对象补充

    五.相关元素操作: var a = document.getElementById("id");                找到a: var b = a.nextSibling ...

  10. [No000029]程序员的那些事儿 -- 皆大欢喜的加薪

    我的朋友A君是个典型的.NET开发人员,技术不错,人品也不错,在一家小公司(姑且称为甲公司)做项目开发,是技术骨干. 3个月前,他找到我说想跳槽,让我帮忙介绍工作.我说为什么想跳了? 1. 为什么想离 ...