中易网

c++同时绘制30张图片在一个窗口内,怎么用代码实现

答案:2  悬赏:0  
解决时间 2021-03-08 17:52
c++同时绘制30张图片在一个窗口内,怎么用代码实现
最佳答案
TCHAR* szbmp[][2]={ // 扩充为 [5][6], 下面i,j范围同样扩充......
{".\\Bitmap\\1.bmp",".\\Bitmap\\2.bmp"},
{".\\Bitmap\\3.bmp",".\\Bitmap\\4.bmp"},
};
LRESULT CALLBACK WndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ){
static HDC hdc_bm[2][2]; static int g_w[2][2], g_h[2][2];
static int dw,dh;
switch(msg){

case WM_CREATE:{ HDC hdc=GetDC(hWnd);
HBITMAP hbm;
for(int i=0; i<2; i++)
for(int j=0; j<2; j++){
hdc_bm[i][j]=CreateCompatibleDC(hdc);
hbm=(HBITMAP)LoadImage(0,szbmp[i][j],IMAGE_BITMAP,0,0,LR_LOADFROMFILE); if(!hbm) eInfo(szbmp[i][j]);
SelectObject(hdc_bm[i][j],hbm);
BITMAP bm; GetObject(hbm,sizeof(bm),&bm); g_w[i][j]=bm.bmWidth; g_h[i][j]=bm.bmHeight;
DeleteObject(hbm);
}
RECT rc; GetClientRect(hWnd,&rc); dw=rc.right/2, dh=rc.bottom/2;
}break;

case WM_DESTROY: PostQuitMessage(0); break;
case WM_PAINT:{
PAINTSTRUCT ps;
HDC hdc=BeginPaint(hWnd,&ps);
for(int i=0; i<2;i++)
for(int j=0;j<2;j++){
StretchBlt(hdc,dw*i,dh*j,dw,dh, hdc_bm[i][j],0,0,g_w[i][j],g_h[i][j], SRCCOPY);
}
EndPaint(hWnd,&ps);
} break; // from case WM_PAINT
case WM_COMMAND:{
switch(LOWORd(wParam)){
case IDT_TEST: break;
} // switch(LOWORd(wParam))
}break; // WM_COMMAND
default: break;
}
return DefWindowProc( hWnd, msg, wParam, lParam ); // 不带W则窗口标题显示不正常.因为CreateWindow带了W.
}
全部回答
mfc的绘图类其实是对windows gdi api的封装,目前发展到gdi+,其实直接使用gdi+也是相当强大的,我给你介绍一下怎么使用windows的gdi+吧: (1)准备使用gdi+ 的api #include <windows.h> #include <gdiplus.h> using namespace gdiplus; void example_drawrectangle(hdc hdc) { // 参数hdc为绘图设备上下文句柄,你可以用getdc()之类的函数获取 graphics graphics(hdc); // 构造一个graphics对象,然后绘图就引用此对象方法即可绘图,真是厉害 pen blackpen(color(255, 0, 0, 0), 3); rect rect(0, 0, 200, 200); // 矩形 graphics.drawrectangle(&blackpen, rect); // 绘制一个矩形 }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一郎染烫地址有知道的么?有点事想过去
怎么克制做吞咽动作,经常不停的做吞咽动作,
在photoshop中修补工具为什么不让用
请问您天正2013与CAD2012兼容性问题怎么解决
老亢劳保大全怎么去啊,有知道地址的么
蒂爵造型地址在什么地方,想过去办事
太阳能热水器一般倾科的角度和当地的()一到
理肤泉和欧泊莱哪一个更好?
亳州的朋友谁知道亳州谯城区有哪些公立小学教
川妹子家常菜在哪里啊,我有事要去这个地方
蜂蜜如果一喝就有想排便感能证明什么?
求一款飞机游戏 06年在朋友家电脑上玩的,横
1969 年8月18日3时五行属性
不亏欠用文言文
出生1986年9月22日属虎女的容貌会越来越好看
推荐资讯
Who is the woman _____ a red biouse?
我姐生了个女孩 求起个名字
东大桥这个地址在什么地方,我要处理点事
Office Powerpoint 2013 怎么添加自定义动画
脚总是出汗,出完汗脚还特别凉是怎么回事
笔记本电脑能连上移动的wifi但上不了网,附~
请问海南的食品企业有那?
脑神经外科和神经内科都包含什么科室
木地板与玻璃地板怎么衔接。木地板中间有一块
迷尚的BB霜和露华浓的粉底液,这两款哪款遮瑕
到多少岁可以注册电话号码
元素化合价代数和为零的原则是什么
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?