2010-12-31 2 views
3

Ich mag einen 512x280 Pixel Screenshot von einem bestimmten Bereich des Bildschirms in C# nehmen dann die RGB-Informationen speichern, die in einem Array. Wenn ich den Ursprung (oben links) der Screenshot an den Pixeln (200,200) beginnen will, wie würde ich mich über das tut dies?Einen Screenshot eines bestimmten Bereichs in C# erstellen?

fragte ich diese früher und wurde mit dem folgenden Code angegeben:

http://pastebin.com/JmCJ4Qer

Dies scheint jedoch die Bitmap immer noch zu schaffen, an den 0,0 Koordinaten beginnen aber wird nur verlassen, diesen Bereich leer, bis es erreicht die Größe. Es erzeugt etwas in der Art: alt text

Wo das Bild nach unten und nach rechts gedrückt wird, sind jedoch viele Pixel in xOrigin und yOrigin angegeben.

+0

Jedes Mal, wenn Sie Code und nicht verstehen, * genau * gegeben haben, was es tut, die Dokumentation lesen. Du wirst nicht nur etwas lernen, sondern auch Fehler entdecken. –

Antwort

4

Blick in die Dokumentation für Graphics.CopyFromScreen. Sie übergeben ihm 2 X/Y-Koordinaten - die Koordinaten auf dem Bildschirm und die Koordinaten innerhalb Ihrer Bitmap. Durch den Klang der Dinge, erzählen Sie Ihr es von die (0,0) Bildschirmposition zu kopieren, auf die (200,200) Position in der Bitmap. Das ist wahrscheinlich der falsche Weg.