我使用Windows Desktop Duplication API来制作自己的镜像协议。 我有这样一段代码:如何从ID3D11Texture2D访问像素数据?
// Get new frame
HRESULT hr = m_DeskDupl->AcquireNextFrame(500, &FrameInfo, &DesktopResource);
if (hr == DXGI_ERROR_WAIT_TIMEOUT)
{
*Timeout = true;
return DUPL_RETURN_SUCCESS;
}
这里是FrameInfo
结构:
`typedef struct _FRAME_DATA {
ID3D11Texture2D* Frame;
DXGI_OUTDUPL_FRAME_INFO FrameInfo;
_Field_size_bytes_((MoveCount * sizeof(DXGI_OUTDUPL_MOVE_RECT)) + (DirtyCount * sizeof(RECT))) BYTE* MetaData;
UINT DirtyCount;
UINT MoveCount;
} FRAME_DATA;`
我想从ID3D11Texture2D* Frame;
提取像素缓冲器如何可以提取关于一个BYTE *
或unsigned char *
和有一个RGB序列? 谢谢!