Similares zum Snipping Tool

07/30/2013 05:07 Requi#1
Guten Morgen Leute,

ich wollte mal fragen, wie man so ein Snipping Tool, was Microsoft bei Windows 8 bereitstellt in .NET selbst schreiben könnte.

Der Screenshot selbst ist kein Problem. Dafür gibt es bestimmt eine Funktion.
Und das kopieren ist ja auch einfach..

Nur ich möchte eine Area haben, die selected wird.

Bild:
[Only registered and activated users can see links. Click Here To Register...]

Hätte da jemand ein gutes GDI+ Tutorial?
Und wie kann ich auslesen, wo die Umrandungen sind?
Wäre GDI+ dafür überhaupt der richtige Ansatz?

MfG
Requi
07/30/2013 11:47 taigatenshi#2
Du könntest das auch leicht mit winforms lösen.
für die Selektierten Area bereich machst du eine Picture-Box in welches du eine Bitmap lädst
und machst die Hintergrundfarbe des Bitmaps teilweise (ausgrau effekt) transparent.
Und die Linien für den Selectierten bereich bekommst du von der Startposition der Maus und der Aktuellen Position der Maus. beispiel (von Startposition X|Startposition Y => zu Aktuellerposition X|Startposition Y)
und in den Mitleren bereich wo du das Image von haben magst setzt du ein transparente farbe.
07/30/2013 17:42 Brendan Jordan#3
Winforms wäre nicht soooo gut
[Only registered and activated users can see links. Click Here To Register...]
07/30/2013 20:09 qkuh#4
Hook die Mauseingaben.
In diesem Fall:
linke Maustaste - gedrückt
linke Maustaste - losgelassen
und
Maus - bewegt

Dann hast du schonmal die Koordinaten des Rechtecks.

Danach benutzt du folgenden Code, den du evtl. etwas umschreiben musst:
Code:
public Bitmap CaptureScreen()
{
    Bitmap b = new Bitmap(SystemInformation.VirtualScreen.Width, SystemInformation.VirtualScreen.Height);
    Graphics g = Graphics.FromImage(b);
    g.CopyFromScreen(0, 0, 0, 0, b.Size);
    g.Dispose();
    return b;
}
Und speicherst das Bild ab.