pBMI = (BITMAPINFO*)LocalAlloc(LPTR,sizeof(BITMAPINFOHEADER)+256*4);//
pBMI->bmiHeader.biBitCount=8;// colors
pBMI->bmiHeader.biCompression=BI_RGB;
pBMI->bmiHeader.biClrUsed = 256;
pBMI->bmiHeader.biClrImportant=0;
DWORD * pColors = (DWORD *)malloc(256*4);
DWORD CurColor = 0;
for (int i=0; i<256; i++){
*pColors = CurColor;
pColors++;
CurColor += 0x010101;
}
CopyMemory(pBMI->bmiColors,pColors,256*4);
pBMI->bmiHeader.biWidth=imWidth;
pBMI->bmiHeader.biHeight=-imHeight;
pBMI->bmiHeader.biPlanes=1;
pBMI->bmiHeader.biSize=sizeof(BITMAPINFOHEADER);
pBMI->bmiHeader.biSizeImage=0;
//////////////
StretchDIBits(dc.m_hDC,rect.left+20,rect.top+40,rect.right-rect.left-40,rect.bottom-rect.top-60,
0,0,pBMI->bmiHeader.biWidth,-pBMI->bmiHeader.biHeight,
buf,pBMI,DIB_PAL_COLORS,SRCCOPY);
показывает не правильно.. что я не так делаю, хелп)
05.12.03 13:09: Перенесено модератором из 'C/C++' — ПК