我正在尝试在 D3DSURFACE9 中设置单个像素,但它们到处都是。我想我以前做过,但这次似乎做错了。
3DLOCKED_RECT lrt;
if(D3D_OK == lpThis->sfRenderingCanvas->LockRect(&lrt,NULL,0))
{
UINT pitch = lrt.Pitch;
VOID *data;
data = lrt.pBits;
UINT Y = (UINT)xmsg.Y;
UINT X = (UINT)xmsg.X;
for(int z=0;xmsg.iNum;z++)
{
if( xmsg.iDataBlock[z]>0 )
((DWORD*)data)[X+Y*pitch+z] = 0xFFFFFF00;
else
((DWORD*)data)[X+Y*pitch+z] = 0xFF000000;
}
}
}
Y 介于 0 和创建曲面时使用的高度
之间 X 介于 0 和曲面的间距之间
谁能告诉我做错了什么?此外,它似乎比我的窗户低两倍。(^如果我尝试绘制超过 1/4 的行,它会覆盖其中的 1/2。)