【发布时间】:2014-11-05 00:16:50
【问题描述】:
ID2D1Bitmap 和 IWicBitmap 有什么区别 我有原始内存数据,我想创建一个位图
【问题讨论】:
标签: windows directx direct2d wic
ID2D1Bitmap 和 IWicBitmap 有什么区别 我有原始内存数据,我想创建一个位图
【问题讨论】:
标签: windows directx direct2d wic
WIC 位图表示系统内存中的图像,可以在 wide range of formats(JPEG、PNG、BMP 等)中。 D2D 位图表示 GPU 内存中的图像,它是少数hardware-accelerated fomats 之一。
假设您想使用 D2D 将位图绘制到屏幕上,并且您的原始内存数据是与 D2D 兼容的格式,您应该直接使用ID2D1RenderTarget::CreateBitmap。如果它不是兼容的格式(例如,它是指向 .png 文件的原始数据的指针),则需要将其加载到 IWicBitmap 中,然后使用 ID2D1RenderTarget::CreateBitmapFromWicBitmap。
【讨论】:
DXGI_FORMAT_R16_* 系列格式。如果您希望浮点值 0.0->1.0 线性映射到 0->65535,请选择 UNORM。