Hallo!
ich möchte in eine PictureBox durch einen Klick an eine bestimmte Stelle an dieser Stelle ein Bild einfügen. Sprich ich brauche die Koordindaten und einen Auslöser. Ich habs bisher geschafft, dass ich mir die Koordinaten ausgeben lassen kann und ich denke ich habe auch den nötigen Befehl gefunden, der das tut was ich will, aber leider wird mein Bild IMMER an die linke, obere Ecke meiner PictureBox gesetzt.
Der Code ist leider nicht vollständig, da ich an einen kleinen Teil gerade nicht rankomme, aber der wäre nur für die Koordinatentransformation zuständig. Darum hab ich der einfachheithalber die Argumente bei dem "Graphics"-Befehl durch e.X und e.Y ersetzt.
Der Code läuft ohne Fehlermeldung durch, aber sobald ich das Klickereignis in der PictureBox auslöse, wird mein Bill (das Rechteck) immer in die obere linke Ecke platziert, statt an den geklickten Koordinaten.
Ich hoffe ich konnte mich richtig ausdrücken und habe mein Problem hinreichend geschildert.
PS: ich bin noch Neuling.
Danke und Gruß
ich möchte in eine PictureBox durch einen Klick an eine bestimmte Stelle an dieser Stelle ein Bild einfügen. Sprich ich brauche die Koordindaten und einen Auslöser. Ich habs bisher geschafft, dass ich mir die Koordinaten ausgeben lassen kann und ich denke ich habe auch den nötigen Befehl gefunden, der das tut was ich will, aber leider wird mein Bild IMMER an die linke, obere Ecke meiner PictureBox gesetzt.
VB.NET-Quellcode
- Public Class Form1
- Public buttonselect1 As Boolean = False
- Public buttonselect2 As Boolean = False
- Private Sub PictureBox1_Click(sender As System.Object, e As System.EventArgs) Handles PictureBox1.Click
- End Sub
- Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
- If Button1.Enabled Then 'setzt den Button beim Anklicken auf true
- buttonselect1 = True
- End If
- End Sub
- Private Sub PictureBox1_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
- If buttonselect1 = True Then 'fügt ein Bild ein, wenn Ereignis aktiviert ist
- PictureBox1.Image = Image.FromFile("G:\rechteck.png")
- buttonselect1 = False
- End If
- If buttonselect2 = True Then
- PictureBox1.Image = Image.FromFile("G:\rechteck_2.png")
- buttonselect2 = False
- End If
- End Sub
- Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
- End Sub
- Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
- If Button2.Enabled Then 'aktiviert den Button beim Anklicken
- buttonselect2 = True
- End If
- If e.Button = Windows.Forms.MouseButtons.Left Then 'gibt Mauszeigerkoordinaten an
- mouseX = e.X
- mouseY = e.Y
- End If
- Graphics.FromImage(PictureBox1.Image).DrawImage(PictureBox1.Image, e.X, e.Y) 'laut Hilfe positioniert mir dieser Befehl das Bild an den geklickten x-und y-Koordinaten
- End Sub
- End Class
Der Code ist leider nicht vollständig, da ich an einen kleinen Teil gerade nicht rankomme, aber der wäre nur für die Koordinatentransformation zuständig. Darum hab ich der einfachheithalber die Argumente bei dem "Graphics"-Befehl durch e.X und e.Y ersetzt.
Der Code läuft ohne Fehlermeldung durch, aber sobald ich das Klickereignis in der PictureBox auslöse, wird mein Bill (das Rechteck) immer in die obere linke Ecke platziert, statt an den geklickten Koordinaten.
Ich hoffe ich konnte mich richtig ausdrücken und habe mein Problem hinreichend geschildert.
PS: ich bin noch Neuling.
Danke und Gruß