0

パスカル用のライブラリを備えたsimbaというツールを使用していました。使用していた関数は、次のように呼び出されて使用されます。

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

私はc#を学び始めましたが、ビジュアルC#用の同様の関数を見つけることができませんでした(この関数getpixelがありますが、機能するものは何も生成できませんでした)同様のプロセスを使用するいくつかの例を調べましたが、それらはかなり複雑なプログラムでした整理できませんでした。これらの仕事をする方法がある場合、あなたは教えたり、見せたり、リンクを与えたりできますか?

4

2 に答える 2

0

画面からコピーするためにこの方法を試しましたか?

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

于 2013-01-22T01:09:40.173 に答える
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 に答える