typedef struct {
unsigned char R;
unsigned char G;
unsigned char B;
}MyColor;
得到了一个数组MyColor PixArr[1280, 1024] ,1280为宽度,1024为高度存储方法为从上到下,从左到右扫描请问怎么显示在View上,怎么存储为bmp文件???请麻烦写一下代码,可以吗?谢谢
unsigned char R;
unsigned char G;
unsigned char B;
}MyColor;
得到了一个数组MyColor PixArr[1280, 1024] ,1280为宽度,1024为高度存储方法为从上到下,从左到右扫描请问怎么显示在View上,怎么存储为bmp文件???请麻烦写一下代码,可以吗?谢谢
//建立位图数据矩阵
int w = 200, h = 200;
BYTE *pBits = new BYTE[w * h];
BYTE *p = pBits;
int i, j;
for (i=0; i<h; i++)
{
for (j=0; j<w; j++)
{
pBits[i * w + j] = BYTE(128);
}
}//#for(i) //造信息,填充BITMAPINFO结构
struct
{
BITMAPINFOHEADER bmiHeader;
RGBQUAD quad[256];
}bmInfo; for (i=0; i<256; i++)
{
bmInfo.quad[i].rgbRed = BYTE(i);
bmInfo.quad[i].rgbBlue = BYTE(i);
bmInfo.quad[i].rgbGreen = BYTE(i);
bmInfo.quad[i].rgbReserved = BYTE(0);
} bmInfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bmInfo.bmiHeader.biWidth = w;
bmInfo.bmiHeader.biHeight = h;
bmInfo.bmiHeader.biPlanes = 1;
bmInfo.bmiHeader.biBitCount = 8;
bmInfo.bmiHeader.biCompression = 0;
bmInfo.bmiHeader.biSizeImage = 0;
bmInfo.bmiHeader.biXPelsPerMeter = 0;
bmInfo.bmiHeader.biYPelsPerMeter = 0;
bmInfo.bmiHeader.biClrUsed = 0;
bmInfo.bmiHeader.biClrImportant = 0; //显示
::StretchDIBits(pDC->m_hDC, 0, 0, w, h, 0, 0, w, h, pBits, (PBITMAPINFO)&bmInfo, DIB_RGB_COLORS, SRCCOPY); //清洁
delete pBits;
至于保存,自己构造文件头吧