我正在使用 WIC 和 Direct2D 渲染原始照片(索尼 .arw)。这部分我正在加载它,我可以在屏幕上绘制它。我想要做的是访问 IWICDevelopRaw 接口。我假设解码器会实现该接口,所以我尝试了:
Microsoft::WRL::ComPtr<IWICBitmapDecoder> pDecoder;
HRESULT hr = m_pWICIMagingFactory->CreateDecoderFromFilename(
uri,
NULL,
GENERIC_READ,
WICDecodeMetadataCacheOnLoad,
&pDecoder
);
if (SUCCEEDED(hr))
{
Microsoft::WRL::ComPtr<IUnknown> u;
hr = pDecoder.AsIID(IID_IWICDevelopRaw, &u);
if (SUCCEEDED(hr)) {
...
}
}
但是hr
是NO_INTERFACE
在通话之后to pDecoder.AsIID(IID_IWICDevelopRaw, &u)