GDI+概述

Windows GDI+是 Windows XP 或者 Windows Server 2003操作系统的 负责显示屏幕信息和打印操作的子系统。 GDI+是一组采用C++类封装的 API。

GDI+可分为三部分:

<1> 2-D vector graphics (2D矢量图形), 这部分主要涉及画一些基本图形,如线,曲线,图表等。 基本图形是通过在屏幕坐标中通过一系列点组成的。

<2> Imaging(图片),有些图片使用矢量绘图会很困难, 因此GDI+的一些类用于绘制这些图片,这些类将图片作为位图来存储

    <3>字体, 字体主要关注于这么显示各种不同的尺寸,风格的字体。

GDI+基于类的接口的结构

Windows GDI+基于 C++类的接口,包括大约40个类,50个枚举,6个结构。 也有一些函数不属于任何类。

在使用任何GDI+函数时,必须指定命名空间: Gdiplus ;

using namespace Gdiplus;

不属于任何类的函数,其中两个是:

Status GdiplusStartup( __out ULONG_PTR token *token, __in const GdiplugsStartupInput *input, __out GdiplusStartupOutput *output);

void GdiplusShutdown(__in ULONG_PTR token);

GdiplusStartup()函数必须在任何GDI+函数被调用之前调用, 而在用完GDI+后,必须调用 GdiplusShutdown()函数。

GDI+的新功能:

GDI+与 GDI的不同点表现在两个方面。

一,GDI+通过提供新功能来扩展GDI,  如 gradient brushes(渐变画刷) 和 alpha blending(alpha混合,透明度)等新特性。

二,GDI+使得图形编程模型变得更容易和灵活。

新功能列举:

1. Gradient Brushes(渐变画刷), GDI+提供线性渐变路径渐变画刷来填充封闭形状,路径 和 区域。

2. Cardinal Splines, 是由一些列单独的曲线 组合成一个大曲线。

3. Independent Path Objects ,  在GDI中,一个路径属于一个设备环境,当路径被画了之后,路径也被销毁了。而在GDI+中,你可以创建和维护多个 GraphicsPath对象,这些对象是与Graphics对象分离的。而一个GraphicsPath被绘制时,它不会被销毁,所以你可多次使用同一个 GraphicsPath对象。

4. Transformations and the matrix object,  转换 和 矩阵对象。  GDI+提供了Matrix对象,这对于转换(旋转,变换等)是一个强大的工具。

5. Scalable Regions , GDI+对 GDI支持的 region 做了极大的扩展。 在GDI中, region被存储在设备坐标中,并且唯一能用的transformation 就是 translation 。 GDI+将 region存储在 世界坐标系中,并且允许 region做任何能够存储在 Matrix中的任何 transformation。 如缩放,旋转 和 translate 等。

5. Alpha Blending ,      alpha blending允许你指定要填充颜色的透明度。  一个透明的颜色会与背景色混合,透明度愈高,那背景色将越突出。

6. Support for multiple Image Formats, 支持多种图片格式。 GDI+提供了 Image , Bitmap , Metafile 类,使得你能够加载,保存和操作多种格式的图片,以下图片格式被支持:

BMP,   GIF , JPEG , Exif ,  PNG ,  TIFF , ICON , WMF , EMF .

GDI+ 与 GDI 编程模型的不同

时间: 2024-08-10 17:18:03

GDI+概述的相关文章

C# GDI+技术

C# GDI+技术 GDI+概述 GDI+是GDI(即Windows早期版本中附带的Graphics Device Interface)的后继者.它是一种构成Windows XP操作系统的子系统的应用程序编程接口(API). GDI+基类的主要命名空间及说明: System.Drawing System.Drawing.Drawing2D System.Drawing.Imaging System.Drawing.Printing System.Drawing.Design System.Dra

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

本篇主题内容是.NET GDI+图形图像编程系列的教程,不要被这个滚动条吓到,为了查找方便,我没有分开写,上面加了目录了,而且很多都是源码和图片~ (*^_^*) 本人也为了学习深刻,另一方面也是为了分享给大家,纯手工码了好几天的字,喜欢的表忘了点赞哦~给点小小的动力~ 目录: <GDI+绘图基础> 1 GDI+概述 2 Graphics类 2.1 Graphics类的方法成员 2.2 引用命名空间 3 常用画图对象 3.1 Pen类 3.2 Color结构 3.3 Font类 3.4 Bru

GDI+学习笔记

7.1.1 GDI+概述 GDI+是微软在Windows 2000以后操作系统中提供的新的图形设备接口,其通过一套部署为托管代码的类来展现, 这套类被称为GDI+的“托管类接口”,GDI+主要提供了以下三类服务: (1) 二维矢量图形:GDI+提供了存储图形基元自身信息的类(或结构体).存储图形基元绘制方式信息的类以及实际进行绘制的类. (2) 图像处理:大多数图片都难以划定为直线和曲线的集合,无法使用二维矢量图形方式进行处理. 因此,GDI+为我们提供了Bitmap.Image等类,它们可用于

C#_GDI+编程教程

第7章  C#图形图像编程基础 本章主要介绍使用C#进行图形图像编程基础,其中包括GDI+绘图基础.C#图像处理基础以及简单的图像处理技术. 7.1  GDI+绘图基础 编写图形程序时需要使用GDI(Graphics Device Interface,图形设备接口),从程序设计的角度看,GDI包括两部分:一部分是GDI对象,另一部分是GDI函数.GDI对象定义了GDI函数使用的工具和环境变量,而GDI函数使用GDI对象绘制各种图形,在C#中,进行图形程序编写时用到的是GDI+(Graphice

C# Winform 大全开发手册

UI(User Interface)编程在整个项目开发过程中是个颇为重要的环节,任何好的解决方案若没有良好的用户界面呈现给最终用户,那么就算包含了最先进的技术也 不能算是好程序.UI编程体现在两个方面,一是设计精美的用户界面,再有就是符合大多数用户习惯和易于使用的操作流程. 本文主要收集整理一些介绍 .Net 框架的基本绘图技术文章.通过简要的介绍和示例程序来探讨绘图技术的优势.劣势以及其它相关注意事项.(文章及相关代码搜集自网络,仅供学习参考,版权属 于原作者! ) [转]GDI+基础(1)

GDI+编程小结

GDI+(Graphics Device Interface Plus图形设备接口加)是Windows XP和Windows Server 2003操作系统的子系统,也是.NET框架的重要组成部分,负责在屏幕和打印机上绘制图形图像和显示信息. GDI+不但在功能上比GDI 要强大很多,而且在代码编写方面也更简单,因此会很快成为Windows图形图像程序开发的首选. 一.              GDI+的特点和新增功能 GDI+与GDI一样,都具有设备无关性.应用程序的程序员可利用GDI+这样

基于 SailingEase WinForm Framework 开发优秀的客户端应用程序(1:概述)

本系统文章将详细阐述客户端应用程序的设计理念,实现方法. 本系列文章以  SailingEase WinForm Framework 为基础进行设计并实现,但其中的设计理念及方法,亦适用于任何类型的客户端应用程序的设计与开发. 目录: http://www.cnblogs.com/sheng_chao/p/6084144.html 前言: 可能是接触计算机比较早,从96年左右386开始,到 Trubo C,以及后来的Foxpro.VB.Delphi,一直以来似乎都有一种客户端程序情节,喜欢写客户

一起来绘画吧——GDI+初印象

概述 GDI+是.NET Framework一个组成部分,主要用于图形编程.GDI+被组织到6个命名空间中,是一组一起使用的类.下面分条列举GDI+的主要功能. GDI+提供了三种绘图表面:窗口.位图和打印机 1>. GDI+提供的工具可以在任何绘图表面上绘制二维"线框图",包括绘制线条.特定图形.多边形.曲线以及各种画刷和钢笔.还能进行许多类型的转换,方便创建复杂的效果. 2>. GDI+中的文本绘制功能进行了扩展,尤其是反锯齿技术方面. 3>. GDI+支持图像和

GDI+系列

1.GDI+的概述 2.绘图表面 3.GDI+坐标系 4.用Pen对象画图 1.使用GDI+画线 2.使用GDI+画弧线 3.使用GDI+画曲线 4.使用GDI+画椭圆 5.使用GDI+画矩形.多边形 6.使用GDI+画扇形 7.利用GDI+绘制文本 8.使用GDI+画图