Picturbox speichern

  • VB.NET

Es gibt 36 Antworten in diesem Thema. Der letzte Beitrag () ist von .Phil.

    Picturbox speichern

    Meine Frage ist:

    Wie kann man wenn man das bild in der pciturbox ändert das geänderte abspeichern. Die Bild änderung mache ich über einen Button der in den Filedialog geht ich geb eben den Quellcode

    Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim retwert As Integer
    3. OpenFileDialog1.Filter = "*.bmp,*.jpg,*.gif|*.bmp;*.jpg;*.gif"
    4. retwert = OpenFileDialog1.ShowDialog()
    5. If retwert = 1 Then
    6. PictureBox1.Image = New Bitmap(OpenFileDialog1.FileName)
    7. End If
    8. End Sub



    Mfg

    Jannik U.
    Moin
    sowas ist mal mächtig uncool: [VB 2008] Picturbox mit dursuchen
    Du musst nicht 2 Themen zum selben Problem aufmachen.

    Wie im alten Thread schon beschrieben solltest du in diesem Fall mit Settings arbeiten: In den eigenschaften deines Projekts auf "Einstellungen" klicken und da einen neuen Eintrag anlegen. Auf diesen kannst du dann im Code per

    VB.NET-Quellcode

    1. My.Settings.NamedeinerVariablen
    zugreifen.

    Grüße
    Phil
    Nagut:
    Schritt 1 Anlegen eines neuen Eintrags unter Prjekt > Eigenschaften > Einstellungen
    Nenn das Ding wie du willst, aussagekräftige Namen helfen später beim wiederfinden. Typ sollte String sein.
    Schritt 2 Speichern des Pfads in den neuen Eintrag
    Wenn du nun mit deinem FileOpenDialog eine Datei ausgewählt hast kannst du das Ergebnis auch in die Settingsvariable speichern:

    VB.NET-Quellcode

    1. My.Settings.NamedeinerVariablen = FileOpenDialog1.FileName
    2. My.Settings.Save

    Schritt 3 Auffrufen der gespeicherten Settings beim Programmstart
    Im FormLoad Event (da kommt man hin, wenn man einen Doppelklick auf das Fenster im Designmodus macht) musst du nun deiner Picturebox den gespeicherten Pfad mitgeben. Funktioniert genauso wie mein FileopenDialog nur dass du halt statt FileOPenDialog.FileName My.Settings.NamedeinerVariablen verwendest.

    Ist alles nicht so schwer.


    Grüße
    Phil

    Edit: Du speicherst nicht das Bild sondern den Pfad zum Bild!!!
    Funktioniert nicht

    Hier ist der komplette Quellcode der Form


    Quellcode

    1. Public Class Form7
    2. Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
    3. End Sub
    4. Private Sub Form7_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    5. Form1.Show()
    6. End Sub
    7. Private Sub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    8. My.Settings.AvatarB = OpenFileDialog1.FileName
    9. End Sub
    10. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    11. Me.Close()
    12. Form8.Show()
    13. End Sub
    14. Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
    15. Form9.Show()
    16. Me.Close()
    17. End Sub
    18. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    19. Dim retwert As Integer
    20. OpenFileDialog1.Filter = "*.bmp,*.jpg,*.gif|*.bmp;*.jpg;*.gif"
    21. retwert = OpenFileDialog1.ShowDialog()
    22. If retwert = 1 Then
    23. PictureBox1.Image = New Bitmap(OpenFileDialog1.FileName)
    24. My.Settings.AvatarB = OpenFileDialog1.FileName
    25. My.Settings.Save()
    26. End If
    27. End Sub
    28. Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
    29. End Sub
    30. Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
    31. If RadioButton1.Checked = True Then
    32. CheckBox1.Enabled = True
    33. PictureBox2.Visible = True
    34. Else
    35. CheckBox1.Enabled = False
    36. PictureBox2.Visible = False
    37. End If
    38. End Sub
    39. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    40. MsgBox("In Testversion noch nicht vorhanden")
    41. End Sub
    42. Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
    43. If CheckBox1.Checked = True Then
    44. Button1.Enabled = True
    45. Else
    46. Button1.Enabled = False
    47. End If
    48. End Sub
    49. Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
    50. End Sub
    51. End Class
    So:

    Musst nur ein button eine Picturbox und OPENFILEDIALOG reintun

    Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim retwert As Integer
    3. OpenFileDialog1.Filter = "*.bmp,*.jpg,*.gif|*.bmp;*.jpg;*.gif"
    4. retwert = OpenFileDialog1.ShowDialog()
    5. If retwert = 1 Then
    6. PictureBox1.Image = New Bitmap(OpenFileDialog1.FileName)
    7. My.Settings.AvatarB = OpenFileDialog1.FileName
    8. My.Settings.Save()
    9. End If
    Natürlich funktioniert das nicht ;) Beim Onload Event lädst du den Wert des OpenFiledialogs in die SettingsVariable. Ließ meine Anweiseung nochmal mit Verstand durch und mach es so wies da steht ...

    OnLoad -> läd den in Settingsgespeicherten wert IN die PB