jjdado

jjdado

0个粉丝

8

问答

0

专栏

0

资料

jjdado  发布于  2012-12-04 11:56:15
采纳率 0%
8个问答
2372

连接图像源与图像池

 
图像API用来标准化和促进图像源和图像池之间的通信。

图像源包含编码的图像数据和产品,而作为输出,图像数据解码成为一种图像池可以使用的格式。

解码器是一种可以把图像数据从一种格式转换成另一种格式的图像源软件。

图像池有时可以称为一种用来处理由图像源产生的解码过的图像数据。

从图像API的角度来看,图像源与图像池之间的通信是由图像源控制的。从某种意义上来说,图像池无法从图像源中取出数据,而是图像源把数据存入到图像池当中。

按照以下的步骤可以用来调用图像API以使你的图像源可以把图像数据存入到图像池中:
    1.   创建一个图像源并提供要解码的图像数据。

    2.   确保你的图像源包含一个指向IimageSink接口的指针以用来接收解码过的图像数据。

         图像池可以设计成为用来接收各种的像素格式,但至少它可以接受PixelFormat32bppARGB这种默认的格式。

         所有的编码器和IbitmapImage接口可以接收PixelFormat32bppARGB这种格式类型。
    3.   确保你的图像源调用了解码器的IImageDecoder::BeginDecode方法。

         该方法允许图像源引用图像池,但是他不允许图像源去解码或转换数据。从根本上来看,图像源也必须初始化所有的变量,并且为解码操作准备好所需的文件。
    4.   确保你的图像源调用了解码器的IimageDecoder::Decode方法。

         该方法使得图像源可以向图像池发送数据。

以下的步骤可以用来代替IImageDecoder::Decode的方法调用.
    1.   如果你的解码器支持属性项,它必须发送这些属性项到图像池,采用以下的过程:

         从图像中读入所有属性。
         调用IImageSink::GetPropertyBuffer方法,并提供合适的存放属性项空间的大小和空间。
         调用IImageDecoder::GetAllPropertyItems方法以填充属性空间。
         调用IImageSink::PushPropertyItems方法,并提供属性空间以发送属性项到图像池。
         允许图像池自动地处理释放自己的存储单元。
    2.   你的解码器必须带有一个ImageInfo(Imaging API)的结构体以用来存放最适参数,这些参数用至图像源与图像池的连接过程中;接着必须调用IImageSink::BeginSink方法开始协定图像源和图像池之间的通信参数。

    3.   当调用IImageSink::BeginSink方法返回给解码器时,存放在ImageInfo中的数据会被修改以描述图像池所用的参数设置。

    4.   你的解码器可以通过调用IImageSink::GetPixelDataBuffer和IImageSink::ReleasePixelDataBuffer方法,或是通过调用IImageSink::PushPixelDa开始解码图像。解码器必须使用由图像池调用IImageSink::BeginSink方法返回的PixelFormat值,或PixelFormat32bppARGB值。

    5.   当结束时,解码器必须调用IImageSink::EndSink。

    6.   解码器现在可以由IImageDecoder::Decode返回了。



以下的步骤在图像源里执行
    1.   最后,你的图像源必须调用IImageDecoder::EndDecode来完成和清空解码过程。
我来回答
回答0个
时间排序
认可量排序
易百纳技术社区暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区