我有一个使用Windows Imaging Component API的简单编码/解码应用程序。我遇到的问题是,当我使用JPEGXR或BMP格式时,一切正常。但是,当我使用JPEG编解码器时 - 编码器工作正常,我可以直观地验证生成的JPEG图像,但当我尝试解码该流时,我得到一个WINCODEC_ERR_BADHEADER(0x88982f61)
以下是失败的行:
hr = m_pFactory->CreateDecoderFromStream(
pInputStream,
NULL,
WICDecodeMetadataCacheOnDemand,
&pDecoder);
这里pInputStream是一个由字节数组创建的IStream(编码器的输出 - 输出字节向量的黑盒子)。
请帮忙!这让我疯了!
答案 0 :(得分:1)
当传递流作为参数时,请确保预先将其设置为正确的初始位置(尤其是如果您只是将数据写入其中并期望进一步检索,请将其重新开始)。 API通常不会寻求,因为这样他们就可以让您在更大的流中提供数据。