标 题: 一些关于GDI+的文字——图像、位图和metafile 发信站: 浙江大学海纳百川站 (Tue Oct 26 11:54:51 2004), 转信 Image 类是抽象基类,它提供了处理光栅图像(位图)和矢量图像(图元文件)的方法 。Bitmap 类和 Metafile 类都从 Image 类继承。Bitmap 类提供了用于加载、保存和处 理光栅图像的其他方法,因而扩展了 Image 类的功能。Metafile 类提供了用于记录和 检查矢量图像的其他方法,因而扩展了 Image 类的功能。 Bitmap类和文件中的位图有关,GDI+支持的图像文件格式有BMP,GIF,JPEG,EXIF,PN G,TIFF等,大大加强了GDI原有狂爆的打开图像功能…… GDI+ 提供 Metafile 类,以便您能够记录和显示图元文件。图元文件,也称为矢量图像 ,是一种存储为一系列绘图命令和设置的图像。Metafile 对象记录的命令和设置可以存 储在内存中或保存到文件或流。 GDI+ 能够显示用以下格式存储的图元文件: Windows 图元文件 (WMF) 增强性图元文件 (EMF) EMF+ GDI+ 能够用 EMF 和 EMF+ 格式记录图元文件,但不能使用 WMF 格式。 EMF+ 是 EMF 的扩展,可存储 GDI+ 记录。EMF+ 格式有两种变体:“EMF+ 唯一”和“ EMF+ 双重”。“EMF+ 唯一”图元文件只包含 GDI+ 记录。这样的图元文件可由 GDI+ 显示,但不可由 GDI 显示。“EMF+ 双重”图元文件包含 GDI+ 和 GDI 记录。“EMF+ 双重”图元文件的每个 GDI+ 记录与一个备用 GDI 记录成对出现。这样的图元文件可由 GDI+ 或 GDI 显示。 您可以使用 Bitmap 类来加载和显示光栅图像,还可以利用 Metafile 类来加载和显示 矢量图像。Bitmap 和 Metafile 类从 Image 类中继承。要显示矢量图像,需要有 Gra phics 对象和 Metafile 对象。要显示光栅图像,需要有 Graphics 对象和 Bitmap 对 象。Graphics 对象提供了 DrawImage 方法,该方法接收 Metafile 或 Bitmap 对象作 为参数。 下面的示例从文件 Climber.jpg 构造 Bitmap 对象并显示位图。图像左上角的目标点 (10,10) 在第二个和第三个参数中指定。 Bitmap* myBitmap = new Bitmap(L"Climber.jpg"); myGraphics.DrawImage(myBitmap, 10, 10); Bitmap 类提供了 Clone 方法,可用于制作现有 Bitmap 对象的副本。Clone 方法带有 源矩形参数,可用于指定要复制的原始位图的部分。 优越的图像裁剪和图像缩放 您可以使用 Graphics 类的 DrawImage 方法来绘制并定位矢量图像和光栅图像。DrawI mage 是一种重载方法,因此您有数种方式为它提供参数。DrawImage 方法的一种变体接 收 Bitmap 对象和 Rectangle 对象。该矩形指定了绘图操作的目标,即它指定了将要在 其内绘图的矩形。如果目标矩形的大小与原始图像的大小不同,原始图像将进行缩放, 以适应目标矩形。 另外还提供了强大的图像缩放模式,使高精度缩放图像成为现成工具,而不需要在图像 版上询问缩放图像需要怎样怎样了。大家看看下面这个激动人心的函数定义吧: Status Graphics::SetInterpolationMode( InterpolationMode interpolationMode ); 其中InterpolationMode是这样的一个枚举: enum InterpolationMode{ InterpolationModeInvalid = QualityModeInvalid, InterpolationModeDefault = QualityModeDefault, InterpolationModeLowQuality = QualityModeLow, InterpolationModeHighQuality = QualityModeHigh, InterpolationModeBilinear, InterpolationModeBicubic, InterpolationModeNearestNeighbor, InterpolationModeHighQualityBilinear, InterpolationModeHighQualityBicubic }; 呵呵,从这一点上看,GDI+已经很仁至义尽了吧…… -- ■■■■■■■■■■■■■■■■■■■■■■■■ 这个世界只有10种人,懂二进制的和不懂二进制的 ■■■■■■■■■■■■■■■■■■■■■■■■ jackyang@cs.zju since 2001 ※ 来源:·浙江大学海纳百川站 bbs.zju.edu.cn·[FROM: jackyang] |
|
来自: shaolong007 > 《一些关于GDI 的文字》