PictureBox rechteck verschieben

  • WP8

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    PictureBox rechteck verschieben

    Hallo zusammen

    In meiner PictureBox wird ein Bild angezeigt, wo ich aber nur einen Ausschnitt mit einem Rechteck entnehmen möchte.
    Rechteck zeichnen geht aber wie geht das mit dem verschieben ohne das Bild mit zu verschieben?

    Gruss
    Sascha
    verstehe ich dich richtig: Du möchtest ein verschiebbares Auswahl-Rechteck zeichnen?

    Das ist ungewöhnlich - normal programmiert man sich eine RubberBox, also etwas, was nicht verschiebbar ist, sondern war jedesmal neu gezeichnet wird, wenn man einen Maus-Ziehen mit gehaltener Taste vollführt.
    ja, Rechteck habe ich erstellt.

    VB.NET-Quellcode

    1. Private Sub PictureBox2_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox2.Paint
    2. Rechteck = e.Graphics
    3. Rechteck.DrawRectangle(New Pen(Brushes.Black), 0, 0, 200, 200)
    4. End Sub
    prima - ums nu um 20 pix nach rechts zu verschieben, musses heißen:

    VB.NET-Quellcode

    1. Private Sub PictureBox2_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox2.Paint
    2. Rechteck = e.Graphics
    3. Rechteck.DrawRectangle(New Pen(Brushes.Black), 20, 0, 200, 200)
    4. End Sub
    Allerdings ist die Benamung katastrophal, denn Rechteck ist kein Rechteck, sondern ist ein Graphics.

    ach - kann ich gleich stark verbessern:

    VB.NET-Quellcode

    1. Private Rechteck As Rectangle = new Rectangle(20, 0, 200, 200)
    2. Private Sub PictureBox2_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox2.Paint
    3. e.Graphics.DrawRectangle(New Pen(Brushes.Black), Rechteck )
    4. End Sub
    Das ist noch nicht die Lösung, aber nun stimmt die Benamung, und ausserdem existiert überhaupt eine Rechteck-Variable, die verschoben werden kann.