首先先了解什么是 GDI 呢?GDI 是从 Windows 95 到 Windows 2000 随附的旧版绘图装置接口 (Graphics Device Interface), 是属于绘图方面的 API (Application Programming Interface)。因为应用程序不能直接控制硬件, 所以当我们要进行绘图的动作时, 必须透过 GDI 才能完成
GDI+ 又是什么呢?GDI+ 是 GDI 的后续产品, 是一种绘图装置接口, 可将应用程序和绘图硬件分隔, 让我们能够撰写与装置无关的应用程序。它可以让我们不需注意特定显示装置的详细数据, 便可在屏幕或打印机显示信息。我们可以呼叫 GDI+ 类别所提供的方法, 然后这些方法会适当地呼叫特定的装置驱动程序, 而完成绘图
System.Drawing   命名空间包含许多基本与进阶的绘图类别, 供程序开发者来完成各种绘图功能。本章在此仅介绍 System.Drawing 命名空间中一些常用的绘图类别。
 
 
 
在「GDI+」中所采用的坐标系统,与平时人们较常用的坐标系统不同,主要差别在于,一般的二维坐标系,x轴与y轴分别是往右往上递增(左图),而「GDI+」所采用的坐标系,x轴与y轴则分别是往右往下递增(右图) 
 
2、绘图基本单位
在数学定义中,坐标上的最基本元素:「点」,其实是个长度与宽度都无穷小的概念单位,但是在计算器图学中,作画的最基本元素是「像素(pixel)
当我们的屏幕分辨率设定为1024*768时,表示在x轴横坐标总共可以画1024个「像素」,在y轴纵坐标总共可以画768个「像素」
 
Graphics 类别是 GDI+ 的核心, 若要绘制任何图形, 都需要先取得 Graphics对象, 设定它的属性, 呼叫它的方法来完成绘图的工作。由于 Graphics 类别并未公开其建构子, 故无法以建构子来建立一个 Graphics 对象, 而是要从您所要绘图的组件取得一个 Graphics 对象, 其语法如下:
           Graphics g = 物件.CreateGraphics
n以上叙述中的对象可为窗体 (Form) 及 Control 类别的衍生类别 (例如, Label, PictureBox 及TextBox 等...), 当上述对象呼叫 CreateGraphics 方法后, 会传回一个Graphics 对象, 您可利用此一 Graphics 对象在建立它的对象上绘图。例如以下叙述可取得窗体的 Graphics 对象。
           Graphics g = this.CreateGraphics
nC# 的绘图至少必须藉助 Graphics 与 Pen 类别对象的协助, 其中 Graphics 对象就好比一块画布, 而 Pen 类别对象就是画笔了。以下叙述可产生画笔对象, 画笔的线条颜色为黑色, 线条粗细为3。
        drawPen = New Pen(Color.Black, 3)
n绘图方法
Graphics 类别的常用绘图方法有
ØDrawLine(直线)、
ØDrawRectangle (矩形)、
ØDrawEllipse (椭圆)、
ØDrawCurve (曲线)、
ØDarwArc (弧线)、
ØDrawPie (扇形)、
ØDrawLines (多边形)、
ØDrawPolygon (封闭多边形)
ØDrawBezier (贝兹曲线)等。
。。。。。。。。。。。。。。。。。。。。。。。。。。不定时更新。。。。。。。。。。。。
 

每天学一点---图形图像GDI编程的更多相关文章

  1. 超全面的.NET GDI+图形图像编程教程

    本篇主题内容是.NET GDI+图形图像编程系列的教程,不要被这个滚动条吓到,为了查找方便,我没有分开写,上面加了目录了,而且很多都是源码和图片~ (*^_^*) 本人也为了学习深刻,另一方面也是为了 ...

  2. [转]超全面的.NET GDI+图形图像编程教程

    本篇主题内容是.NET GDI+图形图像编程系列的教程,不要被这个滚动条吓到,为了查找方便,我没有分开写,上面加了目录了,而且很多都是源码和图片~ GDI+绘图基础 编写图形程序时需要使用GDI(Gr ...

  3. C#_GDI+详细教程(图形图像编程基础)

    第7章  C#图形图像编程基础 本章主要介绍使用C#进行图形图像编程基础,其中包括GDI+绘图基础.C#图像处理基础以及简单的图像处理技术. 7.1  GDI+绘图基础 编写图形程序时需要使用GDI( ...

  4. GDI+图形图像技术1

    System.Drawing命名空间提供了对GDI+基本图形功能的访问,其中一些子命名空间中提供了更高级的功能. GDI+由GDI发展而来,是Windows图形显示程序与实际物理设备之间的桥梁. GD ...

  5. C# .NET开发图形图像程序时提示"GDI+ 中发生一般性错误"

    今天突然收到一封信,说我那个极度复杂的Marshal的问题被解决了(http://www.cnblogs.com/hotcan/archive/2005/01/12/91007.html).顿时感觉好 ...

  6. 一步一步学Silverlight 2系列(32):图形图像综合实例—“功夫之王”剧照播放

    概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...

  7. 一步一步学Silverlight 2系列(31):图形图像综合实例—实现水中倒影效果

    概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...

  8. DSAPI多功能组件编程应用-图形图像篇(中)

    [DSAPI.DLL下载地址]   说到计算机上使用代码来处理各种图像特效,是一份太有挑战性的工作.以下涉及的所有图像效果均不是从网上复制的源码,而是本人试验数次并编写的,所以原理上会和网上的有所不同 ...

  9. GDI+编程说明及小结

    原文地址:http://blog.csdn.net/byxdaz/article/details/5972759 GDI+(Graphics Device Interface Plus图形设备接口加) ...

随机推荐

  1. python16_day22【cmdb注释】

    https://github.com/willianflasky/growup/tree/master/s16/day23/learnMadKing

  2. Linux系统——VMware克隆

    克隆VMware 1. 关闭防火墙 2. 关闭selinux 3. 删除UUID和Mac地址 4.清空网卡缓存 5.关机 ===================== 关闭防火墙 #service ip ...

  3. Django:学习笔记(7)——模型进阶

    Django:学习笔记(7)——模型进阶 模型的继承 我们在面向对象的编程中,一个很重要的的版块,就是类的继承.父类保存了所有子类共有的内容,子类通过继承它来减少冗余代码并进行灵活扩展. 在Djang ...

  4. HackerRank - greedy-florist 【贪心】

    HackerRank - greedy-florist [贪心] 题意 有N个人 要去买K朵花.老板为了最大化新顾客的数量.就压榨回头客.每一朵花都有一个基本价格.一个顾客买下这朵花的价格是他来这里买 ...

  5. 刷新DNS解析缓存

    为了提高网站的访问速度,系统会在成功访问某网站后将该网站的域名.IP地址信息缓存到本地.下次访问该域名时直接通过IP进行访问. 一些网站的域名没有变化,但IP地址发生变化,有可能因本地的DNS缓存没有 ...

  6. 详解WIFI破解-Kali篇

    转自: http://www.secbox.cn/hacker/wireless/4877.html 工具: 1:笔记本 2:USB无线网卡(必备) 3:kali系统 4:靠谱字典 第一种方法: 暴力 ...

  7. nginx搭建mp4流服务器

    流媒体服务器 流媒体指以流方式在网络中传送音频.视频和多媒体文件的媒体形式.相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户边下载边观看,而不必 ...

  8. 【论文解析】MTCNN论文要点翻译

    目录 0.论文连接 1.前言 2.论文Abstract翻译 3.论文的主要贡献 4.4 训练 5 模型性能分析 5.1 关于在线挖掘困难样本的性能 5.2 将人脸检测与对齐联合的性能 5.3 人脸检测 ...

  9. Java 数据结构之双向链表

    一.概述: 1.什么是双向链表: 链表中的每个节点即指向前面一个节点,也指向后面一个节点,就像丢手绢游戏一样,每个人都手拉手 2.从头部插入 要对链表进行判断,如果为空则设置尾节点为新添加的节点,如果 ...

  10. close与shutdown系统调用

    使用多线程时,pthread_create的参数flag有CLONE_FILES, 最终调用do_fork(),并且会根据CLONE_FILES标志来调用copy_files()来共享父进程中的文件描 ...