在窗体 A 中截取到视频的图像,点击按钮跳转到窗体 B ,B上的A截取到的图片··怎么实现呢···就是 A 上有一个按钮,点击按钮,截取到了图像·但是怎么传到B窗口···???????????????大侠帮帮忙啊·····
我是VC++ MFC项目···
窗体跳转实现了·截图也实现了··但是不知道窗体之间怎么传递图片···???????????????????????????
我是VC++ MFC项目···
窗体跳转实现了·截图也实现了··但是不知道窗体之间怎么传递图片···???????????????????????????
CClientDC dc(this1);//目标dc
CDC memDC;
CRect rect;
GetClientRect(rect); memDC.CreateCompatibleDC(&SHDC);
CBitmap bm;
int Width = rect.Width();//
int Height = rect.Height();//
bm.CreateCompatibleBitmap(&SHDC, Width, Height);
CBitmap* pOld = memDC.SelectObject(&bm);
memDC.BitBlt(0, 0, Width, Height, &dc, 0, 0, SRCCOPY);
memDC.SelectObject(pOld);
试试可以不
这个双缓冲加载图片···是可以·但是我的图片获取的DC和目标DC不在一个窗体内···在窗体A里的视频截图可以截取一个图片,我需要在窗体A 内有一个按钮Button 点击按钮截图并且窗体A跳转到窗体B,(A被B覆盖)。窗体B跳转出来的时候截图就已经存在窗体的PictureControl控件内了····
就是这个图片在窗体间的传递怎么实现·······谢谢了···
可以声明一个句柄:HBITMAP hBmp;
用句柄传递没试过
截取视频图·存在全局变量CBitmap bm内··
CDC m_MenDC; //声明内存DC
CDC m_MenDC2; //声明内存DC
//获取视频DC
HWND hwndV=::GetDlgItem(m_hWnd,IDC_STATIC);
CDC* cdcV = GetDlgItem(IDC_STATIC)->GetDC();
HDC hdcV = cdcV ->GetSafeHdc();
CRect rectV;
::GetWindowRect(hwndV,&rectV);
m_MenDC.CreateCompatibleDC(cdcV);//创建内存DC
m_MenDC2.CreateCompatibleDC(cdcV);//创建内存DC
bm.CreateCompatibleBitmap(GetDC(),rectV.Width(),rectV.Height()); HBITMAP hbmp=NULL;
m_MenDC.SelectObject(hbmp);
m_MenDC2.SelectObject(bm);
m_MenDC2.BitBlt(0,0,rectV.Width(),rectV.Height(),cdcV,0,0,SRCCOPY);
// cdcV->BitBlt(0,0,rectV.Width(),rectV.Height(),cdcV,0,0,SRCCOPY);//
EndDialog(IDC_BUTTON_NEXT_FIRST);//跳到下一个窗体