typedef enum D2D1_MAP_OPTIONS {
D2D1_MAP_OPTIONS_NONE = 0x00000000,
D2D1_MAP_OPTIONS_READ = 0x00000001,
D2D1_MAP_OPTIONS_WRITE = 0x00000002,
D2D1_MAP_OPTIONS_DISCARD = 0x00000004,
D2D1_MAP_OPTIONS_FORCE_DWORD = 0xffffffff
} ;
这个枚举包含以下成员:
- D2D1_MAP_OPTIONS_NONE: 表示没有特殊选项,使用默认设置。
- D2D1_MAP_OPTIONS_READ: 表示映射时允许读取资源的内容。
- D2D1_MAP_OPTIONS_WRITE: 表示映射时允许写入资源的内容。
- D2D1_MAP_OPTIONS_DISCARD: 表示映射时会丢弃资源的当前内容,用新的数据填充。
- D2D1_MAP_OPTIONS_FORCE_DWORD: 强制将此枚举大小设置为 32 位。
这个枚举通常用于在 Direct2D 中映射资源(如位图、缓冲区等)时,通过 Map 方法的 options 参数来指定映射的选项。
ID2D1Bitmap1 *pBitmap;
D2D1_MAPPED_RECT mappedRect;
HRESULT hr = pBitmap->Map(D2D1_MAP_OPTIONS_READ, &mappedRect);
if (SUCCEEDED(hr))
{
// 在这里可以访问 mappedRect 中的数据
// ...
// 完成访问后,需要调用 Unmap 来释放映射
pBitmap->Unmap();
}
在上述例子中,通过 Map 方法将位图映射为可读的状态,然后可以访问 mappedRect 中的数据。在完成访问后,需要调用 Unmap 方法来释放映射。根据具体的需求,可以选择不同的映射选项。
转载请注明出处:http://www.zyzy.cn/article/detail/25299/Win32 API/D2d1_1.h/D2D1_MAP_OPTIONS