想把一段内存中的数据用图像显示出来;
BYTE *pData;
pData=(BYTE *) new BYTE[200*500*3];
for(int i=0;i<200*500*3;i++)
pData[i]=200;
CBitmap Bitmap;
Bitmap.CreateBitmap(200,500,1,24,NULL);
Bitmap.SetBitmapBits(200*500*3,pData);
CDC *cdc1;
cdc1=new CDC;
CClientDC dc(this);
cdc1->CreateCompatibleDC(&dc);
cdc1->SelectObject(&Bitmap);
dc.BitBlt(10,10,200,500,cdc1,0,0,SRCCOPY);
怎么就是什么都显示不出来呢?
谁帮偶看看怎么回事,多谢:)
BYTE *pData;
pData=(BYTE *) new BYTE[200*500*3];
for(int i=0;i<200*500*3;i++)
pData[i]=200;
CBitmap Bitmap;
Bitmap.CreateBitmap(200,500,1,24,NULL);
Bitmap.SetBitmapBits(200*500*3,pData);
CDC *cdc1;
cdc1=new CDC;
CClientDC dc(this);
cdc1->CreateCompatibleDC(&dc);
cdc1->SelectObject(&Bitmap);
dc.BitBlt(10,10,200,500,cdc1,0,0,SRCCOPY);
怎么就是什么都显示不出来呢?
谁帮偶看看怎么回事,多谢:)
2. try
BYTE *pData;
pData=(BYTE *) new BYTE[200*500*4];
for(int i=0;i<200*500*4;i++)
pData[i]=200;
CBitmap Bitmap;
Bitmap.CreateBitmap(200,500,1,32,NULL);
Bitmap.SetBitmapBits(200*500*4,pData);
CDC *cdc1;
cdc1=new CDC;
CClientDC dc(this);
cdc1->CreateCompatibleDC(&dc);
cdc1->SelectObject(&Bitmap);
dc.BitBlt(10,10,200,500,cdc1,0,0,SRCCOPY); or
BYTE *pData;
pData=(BYTE *) new BYTE[200*500*4];
for(int i=0;i<200*500*4;i +=4)
{
pData[i]=0;
pData[i+1]=0;
pData[i+2]=0xFF;
pData[i+3]=0;
}
CBitmap Bitmap;
Bitmap.CreateBitmap(200,500,1,32,NULL);
Bitmap.SetBitmapBits(200*500*4,pData);
CDC *cdc1;
cdc1=new CDC;
CClientDC dc(this);
cdc1->CreateCompatibleDC(&dc);
cdc1->SelectObject(&Bitmap);
dc.BitBlt(10,10,200,500,cdc1,0,0,SRCCOPY);
pData=(BYTE *) new BYTE[200*500*3]; cdc1=new CDC;
CDC *cdc1;
CClientDC dc(this);
cdc1->CreateCompatibleDC(&dc);
Bitmap.CreateCompatibleBitmap(&dc,200,500,1,24,NULL);
for(int i=0;i<200*500*3;i++)
pData[i]=200;
CBitmap Bitmap;
Bitmap.SetBitmapBits(200*500*3,pData);
cdc1->SelectObject(&Bitmap);
dc.BitBlt(10,10,200,500,cdc1,0,0,SRCCOPY);