将Direct2d渲染到现有内存中

时间:2012-06-29 13:54:24

标签: directshow direct2d wic

我想在DirectShow就地视频转换过滤器中使用Direct2D来在视频上呈现文本和图像。为了避免额外的副本,我实现了自己的IWICBitmap子类包装媒体示例缓冲区并使用CreateWicBitmapRenderTarget使Direct2D写入该内存。我的问题是,我是否错过了内置的WIC类来将现有内存包装成位图?

1 个答案:

答案 0 :(得分:1)

IWICImagingFactory有一个方法可以创建一个IWICBitmap,其中包含一个指向图像数据的指针 - http://msdn.microsoft.com/en-us/library/ee690291%28v=vs.85%29.aspx - 但这听起来只是将数据从内存复制到新的缓冲区。创建IWICBitmap的唯一另一种方法是通过其他看起来无用的IWICImagingFactory方法,因此很可能在WIC中没有任何东西可以满足您的需求。