0
A
回答
0
最後,我終於實現了這種方式,因爲我想捕捉即使窗口的隱蔽部位(由於內容超出屏幕和要求滾動):
CDC* WindowToCaptureDC = AfxGetMainWnd()->GetWindowDC();
CDC CaptureDC;
CDC MemDC;
MemDC.CreateCompatibleDC(WindowToCaptureDC);
CaptureDC.CreateCompatibleDC(WindowToCaptureDC);
CBitmap CaptureBmp;
CBitmap ResizeBmp;
int pWidth = grid.tableWidth + grid.marginLeft*2;
int pHeight = grid.tableHeight + grid.marginBottom;
CaptureBmp.CreateCompatibleBitmap(WindowToCaptureDC, pWidth, pHeight);
CaptureDC.SelectObject(&CaptureBmp);
CBrush brush(RGB(255, 255, 255));
CaptureDC.SelectObject(&brush);
CaptureDC.Rectangle(0, 0, pWidth, pHeight);
///德魯物品進入CaptureDC像我一樣的OnDraw中的位置///
double width = //desired width;
double height = //desired width;
//maintain aspect ratio
if(pWidth!=width || pHeight!=height)
{
double w = width/pWidth;
double h = height/pHeight;
if(w < h)
height = height*w;
else
width = width*h;
}
ResizeBmp.CreateCompatibleBitmap(WindowToCaptureDC, width, height);
MemDC.SelectObject(&ResizeBmp);
MemDC.StretchBlt(0, 0, width, height, &CaptureDC, 0, 0, pWidth, pHeight, SRCCOPY);
CImage TempImageObj;
TempImageObj.Attach((HBITMAP)ResizeBmp.Detach());
CString filePath = _T("LOCATION\\image.bmp");
TempImageObj.Save(filePath);
0
回答is here
void CScreenShotDlg::OnPaint()
{
// device context for painting
CPaintDC dc(this);
// Get the window handle of calculator application.
HWND hWnd = ::FindWindow(0, _T("Calculator"));
// Take screenshot.
PrintWindow(hWnd,
dc.GetSafeHdc(),
0);
}
相關問題
- 1. C++屏幕截圖
- 2. C++截取屏幕截圖
- 3. SpriteKit屏幕截圖的屏幕截圖
- 4. C++ Windows屏幕截圖
- 5. 屏幕截圖的C++ CLI
- 6. 屏幕截圖
- 7. 截取屏幕截圖
- 8. Webdriver屏幕截圖
- 9. UIWebView屏幕截圖
- 10. iPhone屏幕截圖
- 11. Roku屏幕截圖
- 12. ASP.NET屏幕截圖
- 13. iPhone:屏幕截圖
- 14. android屏幕截圖
- 15. UICollectionView屏幕截圖
- 16. 屏幕截圖未連接屏幕截圖的軟件(RDP)
- 17. 屏幕截圖按住屏幕截圖時卡住
- 18. 以當前屏幕的屏幕截圖
- 19. 以整個屏幕的屏幕截圖
- 20. 屏幕部分的屏幕截圖
- 21. 屏幕截圖到任何屏幕(Android Root,就像屏幕截圖UX)
- 22. 通過C#發送屏幕截圖
- 23. C#命令的屏幕截圖
- 24. 用c安卓android屏幕截圖#
- 25. Win32異常正在屏幕截圖[c#]
- 26. 全屏幕截圖與Cefsharp c#
- 27. C++控制檯「屏幕截圖」問題
- 28. Vista中的MFC應用程序無法使用屏幕截圖
- 29. 使用c#截取屏幕截圖使用c#
- 30. 鎖定MFC屏幕
感謝您指點我在正確的方向 – mgalal 2012-08-07 23:49:31
雖然我結束了使用不同的方法來截圖。我需要捕捉窗口的隱藏部分,PrintWindow也沒有捕獲它。 – mgalal 2012-08-08 00:01:23