D2D1_MAPPED_RECT 结构体是在 Win32 API 的 Direct2D 图形库中用于描述位图锁定时的映射矩形的结构体。以下是该结构体的定义:
struct D2D1_MAPPED_RECT
{
    INT32 pitch;
    BYTE *bits;
};

该结构体包含以下成员:

1. pitch:一个表示映射矩形行之间的跨距的整数值(以像素为单位)。
2. bits:指向映射矩形的位图数据的指针。

这个结构体通常在使用 ID2D1Bitmap1 的 Map 方法时返回,该方法用于锁定位图的缓冲区,以便在缓冲区中直接进行像素数据的读写操作。

以下是一个简单的示例,展示了如何使用 D2D1_MAPPED_RECT 结构体:
// 获取位图引用
ID2D1Bitmap1* bitmap = /* 获取位图的方法 */;

// 定义 D2D1_MAPPED_RECT 结构体
D2D1_MAPPED_RECT mappedRect;

// 锁定位图
HRESULT hr = bitmap->Map(D2D1_MAP_OPTIONS_READ, &mappedRect);

// 检查锁定是否成功
if (SUCCEEDED(hr)) {
    // 通过 mappedRect.bits 访问位图数据,处理像素操作

    // 解锁位图
    bitmap->Unmap();
}

在上述示例中,首先通过 Map 方法锁定位图,然后通过 mappedRect.bits 访问位图的像素数据进行相应的处理,最后通过 Unmap 方法解锁位图。




转载请注明出处:http://www.zyzy.cn/article/detail/25293/Win32 API/D2d1_1.h/D2D1_MAPPED_RECT