0

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

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

我开始学习 C#,但我找不到 Visual C# 的类似函数(有这个函数 getpixel,但我无法产生任何有效的东西)我查看了许多采用类似过程的示例,但它们是相当复杂的程序我无法解决。如果有办法做这些工作,你能告诉、展示或提供链接吗?

4

2 回答 2

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();
于 2013-06-20T14:55:45.837 回答
0

您是否尝试过这种从屏幕复制的方法?

http://msdn.microsoft.com/en-us/library/system.drawing.graphics.copyfromscreen.aspx

于 2013-01-22T01:09:40.173 回答