簡體   English   中英

抓取 Windows 10 放大鏡工具“背后”的屏幕像素數據

[英]Grab screen pixel data "behind" the Windows 10 magnifier tool

我想知道當 windows 放大鏡工具在全屏模式下運行時是否可以捕獲屏幕的整個視圖。 從本質上講,我正在尋找的是,當我用眼睛看屏幕上的某個點時,只有屏幕的某個點顯示在我的顯示器上,我希望能夠打印屏幕的全部沒有關閉放大鏡的原始屏幕。 不知道如何比這更好更清楚地表達它。 我知道可以通過Graphics類獲取屏幕像素信息,如下所示:

this.graphics.Clear(Color.Black);
this.graphics.CopyFromScreen(pictureBoxPoint.X, pictureBoxPoint.Y, 0, 0, size);

但這並不排除放大鏡對屏幕的影響,只會在用戶看到時抓取它。 理想情況下,我希望能夠抓取整個屏幕,因為如果放大鏡工具沒有僅放大一部分,那么應該可以看到它,如果這是有道理的。 整個屏幕空間,即使只有一部分可見。

我快速瀏覽了放大 API文檔頁面,但我不知道這是否真的是我應該查看的地方。 還有什么我可以做的嗎? 如果有人指出我正確的方向,我會很感激,因為我似乎在兜圈子。

非常感謝!

查看 github 項目karna-magnification ,這將允許您將一個 windows 窗體對象放入視圖門戶並放大光標下的任何內容。 要捕獲放大倍數,您只需要捕獲表單的內容。 引用 github 項目后,在要用作放大鏡視圖面板的表單的構造函數中,添加

using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Magnifier mg = new Magnifier(this);
        }
    }
}

從那里添加代碼以使用表單的圖形上下文來捕獲圖像。 那部分我會留給你。

暫無
暫無

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

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