.NET中的GDI+
GDI:Graphics Device Interface.
System. Windows. Shapes 命名空间:
|
类 |
|
|
Ellipse |
绘制一个椭圆。 |
|
Line |
在两个点之间绘制一条直线。 |
|
Path |
绘制一系列相互连接的直线和曲线。 直线和曲线维度通过Data属性声明,并且可以使用 Path 特定的 mini-language 或使用对象模型来指定。 |
|
Polygon |
绘制一个多边形,它是形成闭合形状的一系列相互连接的直接。 |
|
Polyline |
绘制一系列相互连接的直线。 |
|
Rectangle |
绘制一个矩形形状,该形状可以具有笔画和填充。 |
|
Shape |
为 Ellipse、Polygon 和 Rectangle之类的形状元素提供基类。 |
实例代码:
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+的更多相关文章
- 在MFC中使用GDI+的一般方法,以VC6.0编译器为例
1.载解压GDI+开发包: 2.正确设置include & lib 目录: 设置如下:VC6.0编译器菜单Tools->Options->Directories中添加inlude ...
- VS2013中使用GDI+绘图
VC范例,400多个例子源代码下载 http://download.csdn.net/detail/bigtree_mfc/7727977 VS2013中使用GDI+绘图和VC6.0不同,在VC6.0 ...
- Delphi中使用GDI+进行绘图(1)
Delphi的VCL类库中,默认使用的是GDI绘图接口,该接口封装了Win32 GDI接口,能够满足基本的绘图功能,但如果要实现更高级的绘图功能,往往比较困难,GDI+是微软在GDI之后的一个图形接口 ...
- vs2008中使用gdi+的设置
vs2008中使用gdi+ 1.新建一个mfc工程 2.在stdafx.h文件中加入以下几行语句: #include <gdiplus.h> //#pragm ...
- [转]C#中基于GDI+(Graphics)图像处理系列之前言
直接给出原文链接吧: C#中基于GDI+(Graphics)图像处理系列之前言 链接:https://pan.baidu.com/s/1zm5TCOHqkqEfiLZuqO0UMA 提取码:qz0h
- VC中使用GDI+实现为按钮加载Png图片
http://blog.csdn.net/flyfish1986/article/details/5381605 VC中使用GDI+实现为按钮加载Png图片 http://www.codeprojec ...
- C#中的GDI+图形绘制方法
GDI+图形绘制方法 1.首先对于绘制图形,必须的先将命名空间导入:using System.Drawing.Drawing2D; 2.然后在一个事件中写入程序 首先先将Graphics这个对象实例化 ...
- 在VS2012中使用GDI+
首先说明,在VS的较高版本中,已经包含GDI+的SDK,不用再次下载,只需要使用前应用相应的头文件,添加些代码即可.但是VC6.0中,没有GDI+SDK,需要同志们下载才行. 步骤: 1.在stdaf ...
- VB中的GDI编程-2 画笔
p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...
随机推荐
- 精选30个优秀的CSS技术和实例
精选30个优秀的CSS技术和实例 投递人 墙头草 发布于 2008-12-06 20:57 评论(97) 有17487人阅读 原文链接 [收藏] « » 今天,我为大家收集精选了30个使用纯CSS ...
- maven操作
Java 编程入门(系列) Python数据分析与挖掘经典案例实战 "我的2016"主题征文活动 关闭 maven仓库--私服(Nexus的配置使用) 2013 ...
- Makefile规则③规则语法、依赖、通配符、目录搜寻、目标
规则语法 通常规则的语法格式如下: TARGETS : PREREQUISITES COMMAND ... 或者: TARGETS : PREREQUISITES ; COMMAND COMMAND ...
- Eclipse 搜索插件 instasearch
http://marketplace.eclipse.org/content/instasearch
- [bzoj3289]Mato的文件管理
Description Mato同学从各路神犇以各种方式(你们懂的)收集了许多资料,这些资料一共有n份,每份有一个大小和一个编号.为了防止他人偷拷,这些资料都是加密过的,只能用Mato自己写的程序才能 ...
- Android应用程序(APK)的编译打包过程
(9878) (7) 现在很多人想对Android工程的编译和打包进行自动化,比如建立每日构建系统.自动生成发布文件等等.这些都需要我们对Android工程的编译和打包有一个深入的理解,至少要知道它的 ...
- HTML 学习笔记 CSS(选择器)
CSS元素选择器 最常见的CSS 选择器就是元素选择器 换句话说 文档的元素就是最基本的选择器 如果设置HTML样式 选择器通常就是某个HTML元素 比如p h1 em a 甚至可以是HTML本身 h ...
- githup上传代码
把自己本地东西上传到GitHup上. 本文内容来自于http://blog.csdn.net/yuanzichao/article/details/44922593 1.安装msysgit和Torto ...
- ISAPI_Rewrite中文手册
参考:http://blog.csdn.net/fanxiaojie119/article/details/5353186 第一章:软件介绍ISAPI_Rewrite 是一款适用于IIS的功能强大的基 ...
- servlet 中文乱码问题
两步骤搞定: 1,修改tomcat的server.xml <Connector port="8080" protocol="HTTP/1.1" conne ...