簡體   English   中英

屏幕截圖到Direct2D兼容位圖

[英]Screen capture to Direct2D compatible bitmap

我需要在給定其HWND句柄的情況下捕獲窗口的屏幕並將捕獲存儲在ID2D1Bitmap對象中,以便通過我的渲染目標繪制此位圖。

我怎么能得到這個結果?

Direct2D不提供此類功能。

一種可能的方法是首先通過GDI (1)捕獲屏幕,然后從返回的位圖句柄(2)創建ID2D1Bitmap

  1. 獲得HBITMAP - 請檢查此答案: https//stackoverflow.com/a/5164267/3962893 你需要的部件直到HBITMAP hbDesktop = CreateCompatibleBitmap( hdc, width, height); hbDesktop變量將包含屏幕捕獲位圖的句柄。

  2. HBITMAP創建ID2D1Bitmap - 請檢查以下答案: httpsID2D1Bitmap 它將圖標復制到ID2D1Bitmap ,但工作流程完全相同。 除了:

    hIcon := SendMessage(Handle, WM_GETICON, ICON_BIG, 0); .... wicFactory.CreateBitmapFromHICON(hIcon, wicBitmap);

    你必須改為:

    wicFactory.CreateBitmapFromHBITMAP(hbDesktop, wicBitmap);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM