Bild auf Picturebox anpassen

  • VB.NET

Es gibt 29 Antworten in diesem Thema. Der letzte Beitrag () ist von tobikubi.

    Bild auf Picturebox anpassen

    hi..
    Ich wollt mal fragen wie ich es hinbekomme, ein Bild das ich per Openfiledialg in eine Picturebox bringe.
    Auf die Größe der Picturebox anpasse.
    Also das man das ganze Bild sieht auch wen die Picturebox Kleiner ist.
    Ausserdem müsst ich wissen wie ich ein so gewähltes Bild Speichern kann, also das beim nächstem programmstart,
    das Bild was mit dem Openfiledialog gewählt wurde, direkt wieder vorhanden ist.
    Lg :thumbsup:
    1. Verwende bei deiner PicBox ein BackgroundImage anstatt Image und Schau dir das Attribut "BackGRoundImageLayout" an

    2. Speicher den Pfad in den Settigns und setze den dann beim programmstart als BGImage (Image.FromFile("Pfad"))
    1: Wieso soll es nicht gehen?
    2. normalerweise würde ich auf die SuFu verweisen, aber jetz is auch voll egal, also:
    • du gehst auf die Eigenschaften deines Projekts
    • Wähl den Reiter "Einstellungen"
    • da ist so ne Liste, wo man Name, Typ usw für seine Settings auswählen kann, da machste für Name zb "ImagePath"
    • Im Programm schreibst du jetzt folgendes in das FormClosing Event:

    VB.NET-Quellcode

    1. Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
    2. My.Settings.ImagePath = OpneFileDialog.FullName
    3. My.Settings.Save()
    4. End Sub


    Wenn du nun neustartest kannst du jederzeit auf den Pfad über die Variable My.Settings.ImagePath zugreifen.

    //EDIT: zu langsam :whistling:
    Eure vorschläge klappen leider nicht...
    @tobikubi:
    Ich denke bei deiner Methode klappt es nicht weil es ja nicht das Bakcroundimage ist
    sondern das image erst per oben File dialog eingebunden wird, und die Strech Funktion
    für das Backround image ist.
    @Lindi666
    Bei dem Code kommt eine Fehler meldung das man es nicht als String speichern kann?
    Als was muss man den Pfad den speichern? ?(

    Lg

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „n1234n“ ()

    Also hier der Coder für die Settings:
    Das in Form_Closing:

    VB.NET-Quellcode

    1.   My.Settings.Imagepath = OpenFileDialog1.FileName
    2.   My.Settings.Save()

    den hir in Form_Load:

    VB.NET-Quellcode

    1.   Try
    2.   PictureBox1.Load(My.Settings.Imagepath)
    3.   Catch ex As Exception
    4.   End Try

    Lg
    Wo genau meckert deine IDE?

    Also ich würde das im Load-event so machen:

    VB.NET-Quellcode

    1. Try
    2. PicBox.BackgroundImage = Image.FromFile(My.Settings.Imagepath)
    3. Catch....
    4. End Try


    //EDIT: Also bei mir klappt alles. Überprüf nochmal ob dein Imagepath auch vom Typ String ist

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Lindi666“ ()

    ok soweit so gut...
    Jetzt gibts nur noch ein Proplem:
    In der 2ten picturebox wurde als Pfad "...OpenFileDialog1" gespeichert da ich da noch kein Bild ausgewählt hatte.
    Und wen ich en jetzt ändern will kommt ein Fehler da der pfad "C:\...\OpenFileDialog1" nicht gefunden wurde, allerdings kann ich den auch nicht ändern.
    Lg
    nöp, so geht es nicht, da der file trotzdem ausgelesen wird,
    auch wenn kein file angegeben ist. das schreiben in die
    my.settings kann auch ausgeführt werden, und es wird erst
    bei dem laden der fehler ausgelöst und der try block bricht
    ab. Diese Abfrage wäre also erforderlich, da der innere
    bereich nur ausgeführt wird, wenn ein file ausgewählt wurde.
    Das mach ich im moment mit:

    VB.NET-Quellcode

    1.   Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    2.   OpenFileDialog2.ShowDialog()
    3.   Try
    4.   If OpenFileDialog2.FileName > "" Then
    5.   PictureBox2.Load(OpenFileDialog1.FileName)
    6.   End If
    7.   Catch ex As Exception
    8.   End Try

    Lg
    Ich würde es so machen:

    VB.NET-Quellcode

    1. If OpenFileDialog2.ShowDialog() <> Windows.Forms.DialogResult.Cancel Then
    2. PictureBox2.ImageLocation = OpenFileDialog2.FileName
    3. PictureBox2.SizeMode = PictureBoxSizeMode.StretchImage
    4. End If