D3DLOCKED_RECT lockRect;
HRESULT hr;
hr = p_D3d9Surface->LockRect(&lockRect, NULL, D3DLOCK_DONOTWAIT);
if (FAILED(hr)) {
return FALSE;
}
int y_stride = lockRect.Pitch;
图像的尺寸 720*1280
创建的Surface 也是按根据图像大小创建
p_D3d9Device->CreateOffscreenPlainSurface(720, 1280, (D3DFORMAT)MAKEFOURCC('I', '4', '2', '0'), D3DPOOL_DEFAULT, &p_D3d9Surface, NULL);
程序运行返回的 lockRect.Pitch 是768 可以正常显示图像。
问题是按 Alt+Ctrl+Del 键中断了系统后返回,lockRect.Pitch 值就变成 11520 了。
尝试过在LockRect 中加入RECT参数
hr = p_D3d9Surface->LockRect(&lockRect, &rc_Frame, D3DLOCK_DONOTWAIT);
但结果是一样的。
请问这个是什么问题,应该如何解决?