[英]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.