C++如何将bmp图片显示出来
我只是想在运行程序时出现图片作为地图来看,就是让图片一直显示在窗口最上边就行了!给一下源代码吧...
我只是想在运行程序时出现图片作为地图来看,就是让图片一直显示在窗口最上边就行了!给一下源代码吧
展开
2个回答
展开全部
那粗略的给你写个方法把
void DrawImage(HDC hdc,HBITMAP hbmp,COLORREF color,int x,int y,int width,int height,int SrcX,int SrcY){
HDC memDC=CreateCompatibleDC(hdc);
HDC maskDC=CreateCompatibleDC(hdc);
BITMAP bmpinfo;
HBITMAP maskBMP;
GetObject(hbmp,sizeof(BITMAP),&bmpinfo);
maskBMP=CreateBitmap(bmpinfo.bmWidth,bmpinfo.bmHeight,1,1,NULL);
SelectObject(memDC,hbmp);
SelectObject(maskDC,maskBMP);
SetBkColor(memDC,color);
BitBlt(maskDC,0,0,bmpinfo.bmWidth,bmpinfo.bmHeight,memDC,0,0,SRCCOPY);
BitBlt(hdc,x,y,width,height,memDC,SrcX,SrcY,SRCINVERT);
BitBlt(hdc,x,y,width,height,maskDC,SrcX,SrcY,SRCAND);
BitBlt(hdc,x,y,width,height,memDC,SrcX,SrcY,SRCINVERT);
DeleteObject(maskBMP);
DeleteDC(memDC);
DeleteDC(maskDC);
}
还给你解释一下是什么意思吗?知道怎么调用吗?
你应该知道什么意思把
不会的话查一下msdn,或者去csdn网站看看的。
void DrawImage(HDC hdc,HBITMAP hbmp,COLORREF color,int x,int y,int width,int height,int SrcX,int SrcY){
HDC memDC=CreateCompatibleDC(hdc);
HDC maskDC=CreateCompatibleDC(hdc);
BITMAP bmpinfo;
HBITMAP maskBMP;
GetObject(hbmp,sizeof(BITMAP),&bmpinfo);
maskBMP=CreateBitmap(bmpinfo.bmWidth,bmpinfo.bmHeight,1,1,NULL);
SelectObject(memDC,hbmp);
SelectObject(maskDC,maskBMP);
SetBkColor(memDC,color);
BitBlt(maskDC,0,0,bmpinfo.bmWidth,bmpinfo.bmHeight,memDC,0,0,SRCCOPY);
BitBlt(hdc,x,y,width,height,memDC,SrcX,SrcY,SRCINVERT);
BitBlt(hdc,x,y,width,height,maskDC,SrcX,SrcY,SRCAND);
BitBlt(hdc,x,y,width,height,memDC,SrcX,SrcY,SRCINVERT);
DeleteObject(maskBMP);
DeleteDC(memDC);
DeleteDC(maskDC);
}
还给你解释一下是什么意思吗?知道怎么调用吗?
你应该知道什么意思把
不会的话查一下msdn,或者去csdn网站看看的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询