我使用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序列? 謝謝!