首页 > 解决方案 > 从辅助监视器获取像素颜色的更快方法是什么?

问题描述

所以我尝试使用

bmp.GetPixel(-100, 100);

https://docs.microsoft.com/en-us/windows/desktop/api/gdiplusheaders/nf-gdiplusheaders-bitmap-getpixel

但显然我不能使用负整数,抛出一个错误。所以我然后用

GetPixel(-100, 100);

https://docs.microsoft.com/en-us/windows/desktop/api/wingdi/nf-wingdi-getpixel

这有效,但它超级慢......

有没有人有更好的方法在辅助显示器上获取像素颜色,我需要使用负数作为坐标?我花了几个小时试图弄清楚这一点,任何帮助或不同的方法将不胜感激。

抱歉应该包含截图的代码,在这里。

        Bitmap bmp = new Bitmap(SystemInformation.VirtualScreen.Width, SystemInformation.VirtualScreen.Height);
        Graphics graphics = Graphics.FromImage(bmp as Image);
        graphics.CopyFromScreen(-1920, 0, 0, 1080, bmp.Size);

我只想截取第二台显示器的屏幕截图并将其保存在位图中,以便我可以更快地搜索像素。

标签: c#

解决方案


推荐阅读