GDI编程】的更多相关文章

原文地址:http://blog.csdn.net/byxdaz/article/details/5972759 GDI+(Graphics Device Interface Plus图形设备接口加)是Windows XP和Windows Server 2003操作系统的子系统,也是.NET框架的重要组成部分,负责在屏幕和打印机上绘制图形图像和显示信息. GDI+不但在功能上比GDI 要强大很多,而且在代码编写方面也更简单,因此会很快成为Windows图形图像程序开发的首选. 一.GDI+的特点…
图形设备接口(GDI)是一个可执行程序,它接受Windows应用程序的绘图请求(表现为GDI函数调用),并将它们传给相应的设备驱动程序,完成特定于硬件的输出,象打印机输出和屏幕输出.GDI负责Windows的所有图形输出,包括屏幕上输出像素.在打印机上输出硬拷贝以及绘制Windows用户界面.也就是Windows的图形编程. 一.GDI体系结构 1.  GDI32.DLL导出的函数 GDI提供几百个Windows程序中可以调用的函数.这些函数大多数是从Win32的子系统DLL GDI32.DLL…
图形设备接口(GDI)是一个可运行程序,它接受Windows应用程序的画图请求(表现为GDI函数调用),并将它们传给对应的设备驱动程序,完毕特定于硬件的输出,象打印机输出和屏幕输出.GDI负责Windows的全部图形输出,包含屏幕上输出像素.在打印机上输出硬拷贝以及绘制Windows用户界面.也就是Windows的图形编程. 一.GDI体系结构 1.  GDI32.DLL导出的函数 GDI提供几百个Windows程序中能够调用的函数.这些函数大多数是从Win32的子系统DLL GDI32.DLL…
MFC控件GDI编程 一丶学习内容 1.了解常用的GDI函数绘图. 2.使用常用的画笔画刷. 二丶常用的GDI函数绘图 上方则为我们常用的GDI函数了. 画线 矩形. 以及圆 等等. 2.1 画线代码MoveTo LineTo用法 void CCDCDlg::OnBnClickedButton1() { CClientDC dc(this); POINT po; po.x = ; po.y = ; dc.MoveTo(, ); //移动起点到10 10 位置 dc.LineTo(po); //画…
以DrawArc为例,它有一种形式如下的构造函数 public void DrawArc(Pen pen, Rectangle rect, float startAngle, float sweepAngle); 对于startAngle和sweepAngle,MSDN对它的解释是 startAngle: 从 x 轴到弧线的起始点沿顺时针方向度量的角(以度为单位). sweepAngle:从 startAngle 参数到弧线的结束点沿顺时针方向度量的角(以度为单位). 可能博主理解力不怎么样,一…
GDI+(Graphics Device Interface Plus图形设备接口加)是Windows XP和Windows Server 2003操作系统的子系统,也是.NET框架的重要组成部分,负责在屏幕和打印机上绘制图形图像和显示信息. GDI+不但在功能上比GDI 要强大很多,而且在代码编写方面也更简单,因此会很快成为Windows图形图像程序开发的首选. 一.              GDI+的特点和新增功能 GDI+与GDI一样,都具有设备无关性.应用程序的程序员可利用GDI+这样…
一 GDI编程原理 GDI(Graphics Device Interface,图形设备接口),主要负责Windows系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出. GDI的常用对象有Graphics.Pen.Font.Brush等. 在GDI的所有类中,Graphics类是核心,在绘制任何图形之前,一定要先创建或得到一个Graphics类的对象. 那么什么是Graphics呢?   可以将Graphics对象理解成一个画图环境,这个画图环境包括:要画在什么东西上,用什么画…
今天准备重新对GDI的知识进行回顾一下,以便加深认识. 一.GDI 在进行Windows编程时,可能经常会用到设备描述表的类型句柄,例如,最厂家的HDC,它就是图像设备描述类型句柄.因为GDI的绘图函数基本上都是有状态的,因此GDI所有的函数都要求一个这样的图形设备描述类型的句柄——HDC.而一个图像设备描述表实际上就是对一种安装在机器上的图形卡的描述.在使用句柄时,其实就是对具体的一种设备进行操作.对于GDI的任何函数的调用,这个设备的信息是必需的. 从本质上来说,提供指向任何GDI函数的HD…
窗口和视口 视口是基于设备的采用的是设备坐标(单位:像素),窗口是基于程序的采用的是逻辑坐标(单位:像素/毫米/厘米等). 在默认的映射模式下,视口是与窗口等同的.但是如果改变其映射模式,则其对应的单位则不相同. 一般映射模式 如果将映射模式改为MM_LOENGLISH或MM_LOMETRIC等,则1个设备坐标并不对应一个逻辑坐标,因为其单位不同.而且对于不同的映射模式而言其逻辑单位都是固定的. 可编程映射模式 如果将映射模式改为MM_ANISOTROPIC或MM_ANISOTROPIC,则其逻…
GDI+存在的意义:将变成与具体硬件实现细节分开. GDI+步骤:获取画布,绘制图像.处理图像 命名空间: using System.Drawing;//提供对GDI+基本图形功能的访问 using System.Drawing.Drawing2D;//提供高级的二维和矢量图像功能 using System.Drawing.Imaging;//提供高级GDI+图像处理功能 using System.Drawing.Printing;//提供打印相关服务 using System.Drawing.…
在GDI里面,你要想开始自己的绘图工作,必须先获取一个device context handle,然后把这个handle作为绘图复方法的一个参数,才能完成任务.同时,device context handle是同一定的绘图属性绑定在一起的,诸如画笔.话刷等等,你必须在画线之前创建自己的画笔,然后使用selectObject方法把这个画笔同已经获取的device context handle绑定,才能使用LineTo等方法开始画线.不然,你画出来的线使用的是默认的属性:宽度(1),颜色(黑色).但…
一. GDI+三问 1.1 GDI+是什么? GDI+是GDI(Graphics Device Interface)的后继者,是一种图形设备的接口,它构成了Win XP操作系统的子系统的API. 1.2 GDI+能做什么? GDI+能够在绘图界面上绘制我们想要的图形.如:对数据进行统计后得到的柱状图或曲线图等.         绘图界面:一般来说有3中基本的用于绘图的界面,分行别是Windows窗体上的控件.要发给打印机的界面和内存中的位图和图像. 1.3 怎么做呢? 在GDI+中我们可以把它分…
创建绘图表面 创建绘图表面有两种常用的方法.下面设法得到PictureBox的绘图表面. private void Form1_Load(object sender, System.EventArgs e) { //得到pictureBox1的绘图表面 Graphics g = this.pictureBox1.CreateGraphics(); } private void pictureBox1_Paint(object sender, System.Windows.Forms.PaintE…
p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; padding: 5px; margin: 1em 0 1em 0; } .alextitlep{ font-size: 18px; font-weight: bold; color: red; } .alexrootdiv span{ color:blue;font-weight:bold; } .al…
p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; padding: 5px; margin: 1em 0 1em 0; } .alextitlep{ font-size: 18px; font-weight: bold; color: red; } .alexrootdiv span{ color:blue;font-weight:bold; } .al…
在使用GDI+的时候,您不必像在GDI中那样关心设备场景句柄,只需简单地创建一个Graphics对象,然后以您熟悉的面向对象的方式(如myGraphicsObject.DrawLine(parameters))调用它的方法即可. Graphics对象是GDI+的核心,与屏幕上的特定窗体有关,他不与Pen.Brush.Image.Path.Font等绑定,只需将这些对象作为参数,传给Graphics类的方法即可. 如画线: Graphics graphics(*pDC); Pen pen(Colo…
在了解绘图之前,我们先讲几个预备知识 一.坐标系 坐标系是图形设计的基础.GDI+使用三个坐标空间:世界.页面和设备,其中,世界坐标是用于建立特殊图形世界模型的坐标系,也是在.NET Framework中传递给方法的坐标系.而页面坐标系是指绘图图画(如窗体.控件)使用的坐标系.设备坐标系是在其上绘制的物理设别(如屏幕和纸张)所使用的坐标系. 坐标系总是以左上角为原点(0,0),除了原点之外,坐标系还包括横坐标(X轴)和纵坐标(Y轴) 二.像素 像素全称为图像元素,它是构成图像的基本单位.通常以像…
构造Graphics对象 Graphics类是GDI+程序设计的核心,Graphics类能够完成大部分的绘图,文本输出,几何图形的填充及坐标系统的转换等各种操作.在功能上,它与GDI的设备环境(DC)一致. Graphics类有下列几种构造函数: static Graphics* FromHDC(HDG hdc); static Graphics* FromHDC(HDG hdc, HANDLE hDevice); static Graphics* FromHWND(HWND hWnd, BOO…
首先先了解什么是 GDI 呢?GDI 是从 Windows 95 到 Windows 2000 随附的旧版绘图装置接口 (Graphics Device Interface), 是属于绘图方面的 API (Application Programming Interface).因为应用程序不能直接控制硬件, 所以当我们要进行绘图的动作时, 必须透过 GDI 才能完成 那 GDI+ 又是什么呢?GDI+ 是 GDI 的后续产品, 是一种绘图装置接口, 可将应用程序和绘图硬件分隔, 让我们能够撰写与装…
命名空间: using System.Drawing;//提供对GDI+基本图形功能的访问 using System.Drawing.Drawing2D;//提供高级的二维和矢量图像功能 using System.Drawing.Imaging;//提供高级GDI+图像处理功能 using System.Drawing.Printing;//提供打印相关服务 using System.Drawing.Text;//提供高级GDI+排版功能 using System.Drawing.Design;…
常用的绘图函数 DrawArc绘制一个弧形 示例:graphics.DrawArc(pen,,,,,,) 倒数第二个参数,表示起始度数,最后一个参数是弧形的跨越度数.比如起始度数是90,跨越度数是120的弧形如下图: 红色的是弧形.类似的方法还有DrawPie绘制一个扇形和FillPie填充一个扇形.都有起始度数,跨越度数. DrawPolygon绘制多边形 示例: Point []pt=,),,),,)}; graphics.DrawPolygon(pen, pt); Point数组指定每个点…
pen类:绘制指定宽度和样式的直线.使用DashStyle属性绘制几种虚线,可以使用各种填充样式(包括纯色和纹理)来填充Pen绘制的直线,填充模式取决于画笔或用作填充对象的纹理. 创建画笔: //用指定的颜色实例化一只画笔的方法如下: public Pen(Color); //用指定的画刷实例化一只画笔的方法如下: public Pen(Brush); //用指定的画刷和宽度实例化一只画笔的方法如下: public Pen(Brush , float); //用指定的颜色和宽度实例化一只画笔的方…
窗口刷新的时候,会产生Paint事件,那么我们给这个事件添加一个处理函数.然后在这个函数里画图.就能保证所画的图不被刷新掉, 它可以总是显示.Paint事件对应的委托是:public delegate void PaintEventHandler(object sender, PaintEventArgs e); 示例1:在窗口中间画一根线.(创建WindowsForms应用程序) Graphics g = this.CreateGraphics(); Pen p = new Pen(Color…
http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[1] GDI+介绍 2009 年 6 月 18 日 17条评论 标签: GdiPlus,vb 分类: Tutorial,VB6 GDI+ 引言:鉴于网上关于GDI+的教程都是.Net的,基本上没有VB6.0的,而这方面又很多人有需要,所以我就写一个Visual Basic 6 GDI+ 入门教程.目标人群:所有能够较熟练使用VB的,对GDI+感兴趣或有G…
Windows游戏编程之从零开始d I'm back~~恩,几个月不见,大家还好吗? 这段时间真的好多童鞋在博客里留言说或者发邮件说浅墨你回来继续更新博客吧. woxiangnifrr童鞋说每天都在来浅墨的博客逛一下看有没有更新,"每天都来就像看女神那般不依不舍",弄得我再不更新都不好意思了,哈哈~怎么说呢,前段时间忙毕设,回国,暑假,间隔年旅行休整,然后是适应新的生活,各种事情,也真正没有心境来更新博客了,最近正好心境安定下来,就继续开始写博.额,关于思想汇报改天我专门写一篇文章和大…
curses库 简单而言,提供UNIX中多种终端 操作光标和显示字符 的接口.我们常见的vi就是使用curses实现的.现在一般都用ncurses库. Linux下curses函数库    Linux curses库使用      这两篇文章很详细地介绍了curses,在此就不详细介绍了. 1.ubuntu安装curses函数库 $sudo apt-get install ncurses-dev 用curses库,编译程序: $gcc program.c -o program -lcurses…
VC++学习之GDI概述 图形设备接口(GDI)是一个可执行程序,它接受Windows应用程序的绘图请求(表现为GDI函数调用),并将它们传给相应的设备驱动程序,完成特定于硬件的输出,象打印机输出和屏幕输出.GDI负责Windows的所有图形输出,包括屏幕上输出像素.在打印机上输出硬拷贝以及绘制Windows用户界面.也就是Windows的图形编程. 一.GDI体系结构 1.  GDI32.DLL导出的函数 GDI提供几百个Windows程序中可以调用的函数.这些函数大多数是从Win32的子系统…
前一段在一个仿QQ的IM通讯工具中加入屏幕截图以及截图编辑功能,但是测试中发现当连续进行几十次截图后,系统会出现白屏,开始以为和win7经常闪白有关,屏幕截图截取到闪白的瞬间导致白屏,后来发现是GDI内存不足,申请不到GDI内存贴图失败所致.于是找了GDI泄露的工具,对程序进行GDI内存检测,下面就介绍两款GDI泄露检测工具的用法以及GDI编程的一些注意事项. 第一款:GDIndicator 支持win7+xp 下载地址 1.启动待检测的程序和GDIndicator,启动顺序没有要求,之后F5刷…
GDI For VisualBasic6.0 [一]文件下载:GDI+ For VB6[一] 简单绘图实例演示百度网盘 1 '以下为作者[vIsiaswx]的教程 '(该教程发布的原地址已无法访问,此版是流散网络的电子书版复制过来的.如果声明必要,务必与我联系.) ' E-mail : lqx@tyningling.top ' QQ: 1919988942 VB6 GDI+ 入门教程[] GDI+ 介绍 引言:鉴于网上关于 GDI+的教程都是.Net 的,基本上没有 VB6. 的,而这方面又很多…
对Windows编程新手来说,GDI编程中最困难的部分就是映射模式(Mapping Mode). 什么是映射模式? 我们知道,GDI画图是在设备描述表这个逻辑意义上的显示平面上进行,其使用的是逻辑坐标,简单地说,映射模式就是设备描述表的属性,用于确定从逻辑坐标到设备坐标值的转换方式. Windows支持8中映射模式:MM_TEXT为默认. /* Mapping Modes #define MM_TEXT                 1 #define MM_LOMETRIC        …