Salut,
BitmapData et LockBits.
Bitmap img(L"uneImage.bmp");
BitmapData bmpData;
Rect rc(0, 0, img.GetWidth(), img.GetHeight());
if( img.LockBits(
&rc,
ImageLockModeRead | ImageLockModeWrite,
img.
GetPixelFormat(),
&bmpData) == Ok )
{
int stride = bmpData.Stride; // pour calcul d'offset
void* scan0 = bmpData.Scan0; // ptr debut data img
byte* p = (byte*)(void*)scan0; // ptr sur bits
int offset = stride - img.GetWidth() * 3; // ligne suivante
byte rouge, vert, bleu; // les primitives
for(UINT y=0; y<img.GetHeight(); y++)
{
for(UINT x=0; x<img.GetWidth(); ++x)
{
bleu = p[0];
vert = p[1];
rouge = p[2];
// pixel suivant
p += 3;
}
// ligne suivante
p += offset;
}
}
img.UnlockBits(&bmpData);
}