首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在基于MFC的应用程序中逐步呈现图像

在基于MFC的应用程序中逐步呈现图像
EN

Stack Overflow用户
提问于 2015-03-23 10:10:23
回答 1查看 245关注 0票数 1

浏览器可以渐进式渲染渐进式图像。并且图像只有在被逐步编码的情况下才能被逐步解码。

例如,用“交错”选项保存的GIF或PNG图像,或用“渐进式”选项保存的JPEG图像。

我想在基于MFC的应用程序中渲染渐进式图像,就像浏览器一样。

Windows图像组件提供了IWICProgressiveLevelControl接口对图像进行渐进式解码。

但我找不到任何例子来展示如何使用IWICProgressiveLevelControl同时渐进地流式传输和显示图像。

任何建议都将不胜感激。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-06-24 17:48:10

这里有一个很好的示例:

https://code.msdn.microsoft.com/Windows-Imaging-Component-3af3cd49

一旦您使用IWICProgressiveLevelControl::SetCurrentLevel选择了扫描,解码器将正常工作,但只使用您选择的扫描之前的扫描。因此,对CopyPixels或链中的任何IWICBitmapSource组件的任何调用都将在选定的扫描级别接收完全解码的图像。

正如示例中所演示的,诀窍在于,如果您不知道完整文件是否可用,则不能使用IWICProgressiveLevelControl::GetLevelCount并立即选择最大级别。正如示例的文档所述,

IWICProgressiveLevelControl允许您控制要在帧解码上使用的渐进式细节级别。它还允许您查询文件中渐进式级别的总数;但是,不建议对JPEG图像使用此方法,因为在下载整个图像之前,无法知道总计数,这与渐进式解码的目的不符。相反,此示例演示了建议的做法,即迭代地请求递增的详细信息级别,直到WIC返回WINCODEC_ERR_INVALIDPROGRESSIVELEVEL.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29202294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档