如何从屏幕创建图像并在屏幕上找到它们?

时间:2013-01-22 01:04:06

标签: c# bitmap screen

我使用的是一个名为simba的工具,它有pascal库,我正在使用的函数被调用并使用如下:

bitmapfromscreen(x, y, x', y') : integer
findbitmapin(bmp, x, y, x', y') : boolean

我开始学习c#,但是我找不到找到类似的视觉C#函数(有这个函数getpixel但是我不能生成任何有用的东西)我看了一些使用类似过程的例子但是他们相当复杂的程序,我无法理清。如果有办法完成这些工作,你能告诉,展示或给出链接吗?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我在互联网上找到的代码如下:

public Bitmap PrintScreen()
    {
        Rectangle rect = new Rectangle(Cursor.Position.X, Cursor.Position.Y, 500, 360);//Screen.PrimaryScreen.Bounds;
        int color = Screen.PrimaryScreen.BitsPerPixel;
        PixelFormat pFormat;
        switch (color)
        {
            case 8:
            case 16:
                pFormat = PixelFormat.Format16bppRgb565;
                break;

            case 24:
                pFormat = PixelFormat.Format24bppRgb;
                break;

            case 32:
                pFormat = PixelFormat.Format32bppArgb;
                break;

            default:
                pFormat = PixelFormat.Format32bppArgb;
                break;
        }
        Bitmap bmp = new Bitmap(rect.Width, rect.Height, pFormat);
        Graphics g = Graphics.FromImage(bmp);
        g.CopyFromScreen(rect.Left, rect.Top, 0, 0, rect.Size);
        return bmp;
    }

然后在你的代码中你可以这样做:

Bitmap screenImage = PrintScreen();