|
if (FAILED(D3DXCreateTextureFromFile(m_pD3DDevice,
"..\\media\\Back.bmp",
&m_pBackTexture0)))
return FALSE;
LPDIRECT3DSURFACE8 pWorkSurface1;
m_pBackTexture0->GetSurfaceLevel(0 ,&pWorkSurface1 );
D3DSURFACE_DESC LevelDescription1;
m_pBackTexture0->GetLevelDesc(0, &LevelDescription1);
D3DLOCKED_RECT WorkRect1;
pWorkSurface1->LockRect(&WorkRect1, NULL, 0);
D3DCOLOR piel1;
int iblue = 0, iwrite = 0,iother = 0;
for (long Row1 = 0; Row1 < LevelDescription1.Height; Row1++)
{
for (int i1 = 0; i1 < LevelDescription1.Width; i1++)
{
BYTE* positon = (BYTE *)WorkRect1.pBits + i1 + (Row1 *
WorkRect1.Pitch);
}
}
这个时候 *positon *(positon+1) *(positon+2) *(positon+3) 和象素的对应关系
是不是 x r g b啊(注,我读取的纹理不含a通道) |
|