WEB开发网
开发学院操作系统Windows Vista 深入了解图标,使用WIC对Windows Vista图标进行解... 阅读

深入了解图标,使用WIC对Windows Vista图标进行解码

 2008-10-24 17:35:27 来源:WEB开发网   
核心提示:在 4 月份发行的《MSDN® 杂志》中,我介绍了 Windows® 图像处理组件 (WIC),深入了解图标,使用WIC对Windows Vista图标进行解码,向您展示了如何使用它对不同的图像格式进行编码和解码,本月,由于使用者接收的特定实现可能在运行时确定,所以 WIC 仅允许已签名的编解码器参与发

在 4 月份发行的《MSDN® 杂志》中,我介绍了 Windows® 图像处理组件 (WIC),向您展示了如何使用它对不同的图像格式进行编码和解码。本月,我将介绍如何通过编写自己的编解码器来扩展 WIC,并着重介绍开发适用于 Windows 图标格式的备用解码器的初始步骤。但首先,请允许我介绍一下编写编解码器的过程。

在大多数情况下,编写编解码器都非常简单。支持对特定图像格式进行编码的编解码器必须提供一个用于实现 IWICBitmapEncoder 接口的 COM 类。同样,支持对特定图像格式进行解码的编解码器还必须提供一个用于实现 IWICBitmapDecoder 接口的 COM 类。它们是同一类接口,供借助 WIC 处理图像的开发人员使用。实际上,编解码器的 COM 类在进程内加载,可以通过开发人员的应用程序代码直接访问。这样就提供了一种非常有效的抽象方法,使用者可实现高效的图像处理。

编码器还必须实现 IWICBitmapFrameEncode 接口,从而为图像的各个帧提供多种编码方法。即使图像格式并不支持多个帧,也需要使用 IWICBitmapFrameEncode 接口来表示图像像素。同样,解码器还必须实现 IWICBitmapFrameDecode 接口,从而为图像的各个帧提供多种解码方法。

编写好编解码器之后,使用者即可直接使用 CoCreateInstance 函数来创建它,但这样做并没有多大意义。要真正实现编解码器与 WIC 的集成,还需要执行另外几个步骤。尤其是,编码器和解码器必须在注册表中包含其他元数据,用以描述它们的功能。您还必须对包含编码器或解码器的所有 DLL 进行签名。借助元数据,WIC 可以在尝试为特定的图像格式查找合适的编码器,或为特定的图像文件查找合适的解码器时,确定编解码器是否提供了必要功能。由于使用者接收的特定实现可能在运行时确定,所以 WIC 仅允许已签名的编解码器参与发现和仲裁进程,以此尝试为使用者提供一定的保障。

1 2 3 4 5 6  下一页

Tags:深入 了解 图标

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接