收集的GDI图像的方法和属性大全,有属性和方法的解释,查询起来很方便的。 三个主要的图像相关接口是: IGPImage、IGPBitmap、IGPMetafile. IGPBitmap、IGPMetafile 都是从 IGPImage 继承, 分别用于处理位图和图元文件. 还有从 IGPBitmap 继承的 IGPCachedBitmap 用于快速呈现图像. ### GDIplus 图像属性和方法集成 #### 概述 在探讨GDIplus中的图像处理时,我们首先需要理解几个关键的概念与类接口:`IGPImage`、`IGPBitmap` 和 `IGPMetafile`。这些类是GDI+(Graphics Device Interface Plus)图形库的核心组成部分,为开发人员提供了丰富的功能来处理图像和图形。 GDI+ 是微软为 Windows 平台开发的一套图形处理库,它扩展了原有的 GDI (Graphics Device Interface) 功能,并提供了更为强大的矢量图形渲染、图像处理和页面布局等功能。通过 GDI+,开发人员能够创建出高质量的图形用户界面和文档。 #### 主要图像接口介绍 - **IGPImage**:这是所有图像对象的基类,包括位图 (`IGPBitmap`) 和图元文件 (`IGPMetafile`)。`IGPImage` 提供了一系列通用的方法和属性来操作图像,例如克隆图像、获取图像尺寸等。 - **IGPBitmap**:继承自 `IGPImage`,主要用于处理位图图像。除了继承自基类的功能外,还提供了一些额外的方法来获取和设置像素颜色、锁定位图数据等。 - **IGPMetafile**:同样继承自 `IGPImage`,但主要用于处理图元文件。这类文件记录了一系列的绘图命令,可以用来重播这些命令以重现原始图像。 #### IGPImage 接口详解 `IGPImage` 接口提供了以下主要的方法和属性: 1. **Clone**:复制当前图像到一个新的 `IGPImage` 对象。 2. **Save**:将图像保存到指定的文件中。 3. **SaveAdd**:将图像添加到多帧图像文件中。 4. **GetPhysicalDimension**:获取图像的实际尺寸。 5. **GetBounds**:获取图像的边界矩形。 6. **GetThumbnailImage**:获取图像的缩略图版本。 7. **GetFrameDimensions**:获取一个 GUID 数组,每个 GUID 代表一个帧。 8. **GetFrameCount**:获取帧的数量。 9. **SelectActiveFrame**:选择指定的帧作为当前活动帧。 10. **RotateFlip**:旋转和翻转图像。 11. **GetPropertyItem**:获取指定的图像属性项。 12. **SetPropertyItem**:设置指定的图像属性项。 13. **RemovePropertyItem**:删除指定的图像属性项。 14. **GetEncoderParameterList**:获取图像编码器参数列表。 此外,`IGPImage` 还提供了以下属性: - **ImageType**:表示图像类型(位图、图元文件或其他未知类型)。 - **Width**:图像宽度(单位为像素)。 - **Height**:图像高度(单位为像素)。 - **HorizontalResolution**:获取水平分辨率(单位为像素/英寸)。 - **VerticalResolution**:获取垂直分辨率(单位为像素/英寸)。 - **Flags**:获取图像的标志集合。 - **RawFormat**:获取图像的原始格式。 - **PixelFormat**:获取图像的像素格式。 - **Palette**:获取图像调色板。 - **PropertyIdList**:获取图像属性 ID 列表。 - **PropertyItems**:获取图像属性列表。 #### IGPBitmap 接口详解 `IGPBitmap` 在继承自 `IGPImage` 的基础上,还提供了以下特定于位图的操作: 1. **GetHBitmap**:获取位图的 GDI 句柄。 2. **GetHIcon**:获取图标句柄。 3. **LockBits**:锁定位图的一部分,以便可以访问其像素数据。 4. **UnlockBits**:解锁由 LockBits 方法锁定的部分。 5. **SetResolution**:设置位图的分辨率。 6. **Pixels**:访问位图中的像素颜色。 #### IGPMetafile 接口详解 对于 `IGPMetafile`,除了继承自 `IGPImage` 的功能外,还包括: 1. **GetMetafileHeader**:获取图元文件的头部信息。 2. **GetHEnhMetafile**:获取增强图元文件的 GDI 句柄。 3. **PlayRecord**:播放图元文件中的记录,即重新绘制图像。 4. **DownLevelRasterizationLimit**:未提供具体说明,可能与向下兼容的栅格化限制有关。 #### 总结 GDI+ 提供了一整套丰富的 API 来处理图像和图形,其中 `IGPImage`、`IGPBitmap` 和 `IGPMetafile` 接口是开发人员进行图像处理时的核心工具。通过理解和掌握这些接口提供的方法和属性,开发人员可以轻松地实现图像的加载、处理、保存等操作。这些功能对于创建复杂的应用程序界面、文档渲染等方面非常重要,也为开发人员提供了极大的灵活性和控制力。
三个主要的图像相关接口是: IGPImage、IGPBitmap、IGPMetafile.
IGPBitmap、IGPMetafile 都是从 IGPImage 继承, 分别用于处理位图和图元文件.
还有从 IGPBitmap 继承的 IGPCachedBitmap 用于快速呈现图像.
--------------------------------------------------------------------------------
IGPImage 的方法与属性:
--------------------------------------------------------------------------------
//方法
IGPImage.Clone; { 克隆 }
IGPImage.Save(); { 按指定格式保存到文件或流 }
IGPImage.SaveAdd(); { 给许可多页的图像添加页 }
IGPImage.GetPhysicalDimension(); { 获取图像的大小(宽、高) }
IGPImage.GetBounds(); { 以指定单位获取图像的边界矩形 }
IGPImage.GetThumbnailImage(); { 获取缩略图 }
IGPImage.GetFrameDimensions; { 获取一个 GUID 数组, 每个 GUID 代表一帧 }
IGPImage.GetFrameCount(); { 获取帧数 }
IGPImage.SelectActiveFrame(); { 选择指定索引的帧为当前帧 }
IGPImage.RotateFlip(); { 旋转图像 }
IGPImage.GetPropertyItem(); { 获取属性项 }
IGPImage.SetPropertyItem(); { 设置属性项 }
IGPImage.RemovePropertyItem(); { 删除属性项 }
IGPImage.GetEncoderParameterList(); { 获取图像编码器支持的参数信息 }
//属性
IGPImage.ImageType; { 图像类型(Bitmap/Metafile/Unknown) }
IGPImage.Width; { 宽度(单位是像素) }
IGPImage.HorizontalResolution; { 获取水平分辨率(以"像素/英寸"为单位) }
IGPImage.VerticalResolution; { 获取垂直分辨率(以"像素/英寸"为单位) }
IGPImage.Flags; { 获取图像像素的属性标志 }
IGPImage.RawFormat; { 获取图像的文件格式 }
IGPImage.PixelFormat; { 获取图像的像素格式 }
IGPImage.Palette; { 获取或设置调色板 }
IGPImage.PropertyIdList; { 获取图像属性 ID 数组 }
IGPImage.PropertyItems; { 获取图像属性集合 }
--------------------------------------------------------------------------------
IGPBitmap 在 IGPImage 的基础上添加的方法与属性:
--------------------------------------------------------------------------------
//方法
IGPBitmap.GetHBitmap(); { 创建 GDI 格式的 Bitmap 并返回句柄 }
IGPBitmap.GetHIcon; { 创建 Icon 文件并返回句柄 }
IGPBitmap.LockBits(); { 锁定对象中内存中的像素数据 }
IGPBitmap.UnlockBits(); { 解除 LockBits 的锁定 }
IGPBitmap.SetResolution(); { 设置分辨率 }
//属性
IGPBitmap.Pixels; { 获取或设置指定像素的颜色 }
--------------------------------------------------------------------------------
IGPMetafile 在 IGPImage 的基础上添加的方法与属性:
--------------------------------------------------------------------------------
//方法
IGPMetafile.GetMetafileHeader; { 获取 Metafile 的 MetafileHeader }
剩余15页未读,继续阅读
- pr823864212012-11-20分类详细有用
- flyingpig23022013-10-19不错,可以用
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助