如何在SDI的工作区里显示一张bmp图片?大家帮忙,谢谢!

jjaing 2004-12-27 09:06:23
如何在SDI的工作区里显示一张bmp图片
...全文
91 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
AndyZhang_ 2004-12-30
  • 打赏
  • 举报
回复
CBitmap* oldBitmap;
CBitmap newBitmap;

newBitmap.LoadBitmap("你的bitmap");

BITMAP bmpInfo;
newBitmap.GetBitmap(&bmpInfo);

CDC* dcMemory=new CDC;
CClientDC* dcm=new CClientDC(this);
dcMemory->CreateCompatibleDC(NULL);

oldBitmap= dcMemory->SelectObject(&newBitmap);

CRect rect;
GetClientRect(&rect);

int nX = rect.left + (rect.Width() - bmpInfo.bmWidth) / 2;
int nY = rect.top + (rect.Height() - bmpInfo.bmHeight) / 2;

dcm->StretchBlt(0, 0, rect.Width(), rect.Height(), dcMemory, 0,0,mWidth,bmpInfo.bmHeight, SRCCOPY);
dcm->SelectObject(oldBitmap);


ReleaseDC(dcm);
Willam2004 2004-12-28
  • 打赏
  • 举报
回复
HDC hdc;
HDC hdcmemory;
HBITMAP hbitmap,holdmap;
BITMAP bitmap;
RECT client;
PAINTSTRUCT ps;
GetClientRect(hWnd,&client);
hbitmap=LoadBitmap(hInst,(LPCTSTR)IDB_BITMAP1);//IDB_BITMAP1是位图资源名
hdcmemory=CreateCompatibleDC(NULL);
holdmap=(HBITMAP)::SelectObject(hdcmemory,hbitmap);
GetObject(hbitmap,sizeof(BITMAP),&bitmap);
hdc = BeginPaint(hWnd, &ps);
BitBlt(hdc,(client.right-client.left)/2,(client.bottom-client.top)/2,bitmap.bmWidth,bitmap.bmHeight,hdcmemory,0,0,SRCCOPY);
SelectObject(hdcmemory,holdmap);
DeleteDC(hdcmemory);
EndPaint(hWnd, &ps);
Kudeet 2004-12-27
  • 打赏
  • 举报
回复
CRect rect;
GetClientRect(&rect);
CDC memDC;
CDC *pDC;
pDC = GetDC();
CBitmap bitmap;
CBitmap *pOldbitmap;
BITMAP hbitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
memDC.CreateCompatibleDC(pDC);
pOldbitmap = memDC.SelectObject(&bitmap);
bitmap.GetBitmap(&hbitmap);
CSize size(hbitmap.bmWidth,hbitmap.bmHeight);
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,size.cx,size.cy,SRCCOPY);
memDC.SelectObject(pOldbitmap);
ReleaseDC(pDC);
kugou123 2004-12-27
  • 打赏
  • 举报
回复
改变视图单调的背景
http://www.vckbase.com/document/viewdoc/?id=341

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧