.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%; ...
随机推荐
- ELF Format 笔记(二)—— ELF Header
ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 以 32 位的 ELF header 数据结构为例: #define EI_NIDENT 16 typede ...
- CentOS7 (64位) 下QT5.5 连接MySQL数据库(driver not loaded)
用qt连接MySQL需要共享库 libqsqlmysql.so的驱动,路径在plugin/sqldrivers目录下,乍看已经可用了,其实不然. 用ldd命令分析一下,libmysqlclient_r ...
- 超链接a的target属性
<a>标签的target意思很明确就是在哪里打开目标文档. 第一种情况: 默认情况:当我们没有设置超链接属性target的value值时默认是_self,即<a target=&qu ...
- MMORPG大型游戏设计与开发(客户端架构 part10 of vegine)
界面是游戏中必不可少的一部分,就算你进入游戏没有看到什么UI窗口,你也不必着急,因为多多少少都会有隐藏着的界面等你去体验.一个好的UI大部分应该归功于设计的人与提供美术支持的人员,因为他们是直接设计U ...
- Code! MVC 5 App with Facebook, Twitter, LinkedIn and Google OAuth2 Sign-on (C#)
http://www.asp.net/mvc/overview/security/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2- ...
- Windows英文版GitHub客户端使用操作流程图文攻略教程现没中文版
Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理.作为一个程序员,我们需要掌握其用法. 作为开源代码库以及版本控制系统,Github目前拥有140 ...
- VIM的强大功能
转发地址:http://coolshell.cn/articles/5426.html 简明 Vim 练级攻略 vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是 ...
- u3d_Shader_effects笔记4 BRDF
1.英文意思 bidirectional reflectance distribution function bidirectional :双向的 reflectance :反射 distributi ...
- TextView和EditText中的setFilters方法说明
在TextView中有一个方法public void setFilters(InputFilter[] filters),API中有一句说明:Sets the list of input filter ...
- PHP 图片处理PNG颜色丢失
根据需求做一个用户点击测试桃花运的小程序.在开发中需要使用PHP进行开发,原理是将用户的姓名通过php的图片处理写入图片中,此处遇到一巨坑. 就是png图片在调用 imagecolorallocate ...