CDC* pdc=GetDC();
CDC dcmem;
dcmem.CreateCompatibleDC(pdc);
CBitmap MemBitmap;
MemBitmap.CreateCompatibleBitmap(pdc,500,200);
CBitmap *pOldBit=dcmem.SelectObject(&MemBitmap); for(int j=0;j<200;j++)
for(int i=0;i<=500;i++)
{
dcmem.SetPixel(i,j,0xFF);
}
//pdc->BitBlt( 0,0,x,y,&dcmem,0,0,SRCCOPY);
HDRAWDIB hdib=::DrawDibOpen(); BITMAPINFO bminfo;
BITMAP bitmap;
ZeroMemory(&bminfo,sizeof(BITMAPINFO)); GetObject(MemBitmap.m_hObject ,sizeof(BITMAP),&bitmap); bminfo.bmiHeader.biSize=sizeof(BITMAPINFOHEADER);
bminfo.bmiHeader.biWidth=bitmap.bmWidth;
bminfo.bmiHeader.biHeight=bitmap.bmHeight;
bminfo.bmiHeader.biPlanes=bitmap.bmPlanes;
bminfo.bmiHeader.biBitCount=bitmap.bmBitsPixel;
bminfo.bmiHeader.biCompression=BI_RGB; DrawDibDraw(hdib,::GetDC(m_hWnd),0,0,-1,-1,&(bminfo.bmiHeader),
bitmap.bmBits,0,0,bitmap.bmWidth,bitmap.bmHeight,
DDF_SAME_HDC); ::DrawDibEnd(hdib);
::DrawDibClose(hdib);
这里暂且把绘制图像简化为绘制方块。可为什么没显示出来呢?怎么办呀
好几天没弄出个结果来,郁闷之极
解决方案 »
- 模态对话框无法正确显示的问题
- $$$CLlistCtrl SetItemPosition()失效
- CFile分多次读取文件
- 有这么学习的么?累死了,现在好迷茫
- 在程序中得到本函数得名称.
- VC为啥没有目录选择对话框?高手救我
- 关于WinExec的问题???
- 我有一.DB文件,但是却不能打开也不能转换,敬请告之,必有重谢!
- 请问在使用Visual Basic 6.0做Activex控件时,控件临时下拉的窗体如何可以超出父窗体。
- 一个很紧急的问题:如何在一个自己程序中用程序来关闭模态消息对话框(500分,不够在加),详情见贴子
- 下列代码如何修改,执行Fun1Proc后,再执行Fun2Proc???
- listrctrl的一列数据统计
HDRAWDIB hdd,
HDC hdc,
int dxDest,
int dyDest,
LPBITMAPINFOHEADER lpbi,
int dxSrc,
int dySrc,
UINT wFlags
);你用一下这个方法
char * buffer=new char[704*576*3];
int width=496;
int height=344; BITMAPINFO bminfo; ZeroMemory(&bminfo,sizeof(BITMAPINFO)); bminfo.bmiHeader.biSize=sizeof(BITMAPINFOHEADER);
bminfo.bmiHeader.biWidth=width;
bminfo.bmiHeader.biHeight=height;
bminfo.bmiHeader.biPlanes=1;
bminfo.bmiHeader.biBitCount=24;
bminfo.bmiHeader.biCompression=BI_RGB;
/////file
FILE * fp;
fp=fopen("Signal.bmp","r");
fseek(fp,sizeof(bminfo.bmiHeader),SEEK_SET);
fread(buffer,1,width*height*3,fp);
/////
HWND m_hwnd=this->m_hWnd;
pdc=this->GetDC();
//HDC hdc=::GetDC(pdc);
HDRAWDIB hdib=::DrawDibOpen();
BOOL ret=DrawDibBegin(hdib,pdc->m_hDC,width,height,&(bminfo.bmiHeader),width,height,DDF_ANIMATE); ret=DrawDibDraw(hdib,pdc->m_hDC,0,0,width,height,&(bminfo.bmiHeader),buffer,0,0,width,height,DDF_SAME_HDC);
Sleep(1);
::DrawDibEnd(hdib);
::DrawDibClose(hdib);
找一张RGB 位深度为24的BMP图片就行了
就能画到窗体上了
楼上的可以,但是功能变了,我自己改了改,就显示不出来了。那我要显示dcmem里的图片,该怎么弄呢?