GDI+是GDI的后继者,它是一种构成 Windows XP 操作系统的子系统的应用程序编程接口。

一般来说有3种基本类型的绘图界面,分别为Windows 窗体上的控件、要发送给打印机的页面和内存中的位图、图像,而Graphics类封装了一个GDI+绘图界面,因此该类提供了可以在3中绘图界面上绘图的功能。

绘制直线

private void button1_Click(object sender, EventArgs e)

{

Graphics graphics = this.CreateGraphics();

Pen pen = new Pen(Color .Blue ,2);

graphics.DrawLine(pen ,50,30,170,30);

}

绘制矩形

private void button1_Click(object sender, EventArgs e)

{

Graphics graphics = this.CreateGraphics ();

Pen pen = new Pen(Color .Red ,3);

graphics.DrawRectangle(pen,70,20,80,50);//(x,y)指的是要绘制矩形的左上角的x\y坐标

}

绘制椭圆

private void button1_Click(object sender, EventArgs e)

{

Graphics graphics = this.CreateGraphics();

Pen pen = new Pen(Color.Red, 3);

Rectangle myRec = new Rectangle ( 70, 20, 80, 50);//(x,y)指的是要绘制矩形的左上角的x\y坐标

graphics.DrawEllipse(pen ,myRec);

}

绘制图形路径

路径是通过组合直线、矩形、简单的曲线而形成的。在GDI+中,GraphicsPath对象允许将基本构造块收集到一个单元中,调用一次Graphics类的DrawPath方法,就可以绘制出整个单元的直线、矩形、多边形和曲线。

private void button1_Click(object sender, EventArgs e)

{

Graphics graphics = this.CreateGraphics();

System.Drawing.Drawing2D.GraphicsPath myGraphicPath = new System.Drawing.Drawing2D.GraphicsPath();

Pen myPen = new Pen(Color .Red ,2);

Point[] myPoints = { new Point(15, 30), new Point(30, 40), new Point(50,30) };

myGraphicPath.AddArc(15,20,80,50,210,120);

myGraphicPath.StartFigure();//不闭合当前图形继续画下一个图形

myGraphicPath.AddCurve(myPoints );

myGraphicPath.AddString("图形路径",new FontFamily ("华文行楷"),(int )FontStyle .Underline ,50,new PointF(20,50),new StringFormat ());

myGraphicPath.AddPie(180,20,80,50,210,120);

graphics.DrawPath(myPen ,myGraphicPath );

}

GDI+技术的更多相关文章

  1. C# GDI+技术

    C# GDI+技术 GDI+概述         GDI+是GDI(即Windows早期版本号中附带的Graphics Device Interface)的后继者.它是一种构成Windows XP操作 ...

  2. MVC的验证(模型注解和非侵入式脚本的结合使用) .Net中初探Redis .net通过代码发送邮件 Log4net (Log for .net) 使用GDI技术创建ASP.NET验证码 Razor模板引擎 (RazorEngine) .Net程序员应该掌握的正则表达式

    MVC的验证(模型注解和非侵入式脚本的结合使用)   @HtmlHrlper方式创建的标签,会自动生成一些属性,其中一些属性就是关于验证 如图示例: 模型注解 通过模型注解后,MVC的验证,包括前台客 ...

  3. C# :GDI+技术生成复杂型彩色验证码(转载)

    该类是生成一个验证码的类,集合了网上大部分的C#关于GDI+的文章进行多次改进,现在已经形成了可在生产环节中使用的验证码. 该验证码加入了背景噪点,背景噪点曲线和直线,背景噪点文字以及扭曲,调暗,模糊 ...

  4. 使用GDI技术创建ASP.NET验证码

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Dr ...

  5. C#-gdi绘图,双缓冲绘图,Paint事件的触发

    一. 画面闪烁问题与双缓冲技术 1.1 导致画面闪烁的关键原因分析: 1  绘制窗口由于大小位置状态改变进行重绘操作时 绘图窗口内容或大小每改变一次,都要调用Paint事件进行重绘操作,该操作会使画面 ...

  6. C#-gdi画图,双缓冲画图,Paint事件的触发---ShinePans

    在使用gdi技术画图时,有时会发现图形线条不够流畅,或者在改变窗口大小时会闪烁不断的现象.(Use DoubleBuffer to solve it!)                         ...

  7. Excel阅读模式/单元格行列指示/聚光灯开发 技术要点再分享

    1. 引言 文题中所谓技术要点再分享,本意是想在大神Charltsing Liu的博文“简单介绍Excel单元格行列指示的实现原理(俗称聚光灯功能)”的基础上写一点个人开发体会.写本文的初衷有三点,一 ...

  8. WPF GDI+字符串绘制成图片(二)

    原文:WPF GDI+字符串绘制成图片(二) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/BYH371256/article/details/83 ...

  9. WPF GDI+字符串绘制成图片(一)

    原文:WPF GDI+字符串绘制成图片(一) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/BYH371256/article/details/83 ...

随机推荐

  1. Linux批量更改文件后缀名

    一.rename解决 1.  Ubuntu系统下 rename 's/\.c/\.h/'  ./* 把当前目录下的后缀名为.c的文件更改为.h的文件 2.  CentOS5.5系统下 rename . ...

  2. MySQL-(Master-Slave)配置

    1.两台机器,安装好版本一致的MySQL 192.168.29.128 (master) MySQL-5.6.21 192.168.29.129 (slave) MySQL-5.6.21 2.配置ma ...

  3. SecureCRT 连接后一些会话选项配置修改

  4. ztree

    http://www.s u c h s o.com/projecteactual/ztree-jiaocheng-mvc-checkbox-quanxuan-demo-down.html http: ...

  5. nmap十条常用命令行格式

    1) 获取远程主机的系统类型及开放端口 nmap -sS -P0 -sV -O <target> 这里的 < target > 可以是单一 IP, 或主机名,或域名,或子网 - ...

  6. python-appium识别元素等待时间

    1.显式等待 一个显式等待是你定义的一段代码,用于等待某个条件发生然后再继续执行后续代码. from selenium import webdriverfrom selenium.webdriver. ...

  7. cisco HSRP实验

    实验项目:HSRP 实验目的: 1>     实现拓扑冗余备份. 2>     测试HSRP主备网关倒换.

  8. 【C#基础】System.Reflection (反射)

    在使用.NET创建的程序或组件时,元数据(metadata)和代码(code)都存储于"自成一体"的单元中,这个单元称为装配件.我们可以在程序运行期间访问这些信息.在System. ...

  9. PacketiX VPN搭建企业VPN

    参考资料:http://jingyan.baidu.com/article/9989c746043c44f649ecfe69.html

  10. java 的SYSTEM类【转】

    java 的SYSTEM类[转] Posted on 2009-12-03 16:46 火之光 阅读(728) 评论(0) 编辑 收藏 System类代表系统,系统级的很多属性和控制方法都放置在该类的 ...