Bild wird nicht in Jpeg gespeichert...



  • In meinem Ordner wird diese Datei als Typ Datei gespeichert, somit kann ich nicht das Bild mit einem Doppelklick öffnen 😞

    private void copieToolStripMenuItem_Click_1(object sender, EventArgs e)
            {
                string pfad = "C:\\Users\\SMMrd\\Desktop\\CHART-BILDER\\";
    
                pfad = pfad + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Second.ToString();
    
                pictureBox1.Image.Save(pfad, System.Drawing.Imaging.ImageFormat.Jpeg);
    
            }
    

    wobei ich die Datein mit dem Windowsprogramm Paint öffnen kann, auch ist es möglich diese Datein in ein Worddokument anzeigen zu lassen.



  • Dann solltest du auch die Extension ".jpg" dem Pfad (bzw. dem Dateinamen) hinzufügen...

    P.S. Deine Datumsformatierung ist aber ungünstig, da du evtl. Mehrdeutigkeiten erzeugst (da ToString() keine führenden Nullen erzeugt) - nimm besser DateTime.Now.ToString("yyyyMMddHHmmss") (oder so ähnlich s. Formatzeichenfolgen für Datum und Uhrzeit und sublinks).
    Und warum hast du zweimal die Sekunden hinzugefügt?



  • string pfad = "C:\\Users\\SMMrd\\Desktop\\CHART-BILDER\\";
    
                pfad = pfad + DateTime.Now.ToString("yyyy.MM.dd.hh.mm.ss")+".jpg";
    
                pictureBox1.Image.Save(pfad);
    

    Ich hatte auch vergessen das Format für die datetime Methode anzugeben, dies führte auch zu Problemen, denn diesmal kamen "12-Datei" oder "07-Datei" als Dateityp im Ordner. Diese konnte ich natürlich auch nicht mit einem Doppelklick öffnen.

    Danke nochmals.

    MfG

    SMMrd



  • Was mir noch aufgefallen ist: verwende möglichst keine absoluten Pfade in deinem Programm, sondern verwende die GetFolderPath-Methode mit der Environment.SpecialFolder-Enumeration als Parameter:

    Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
    

    Und zum Verbinden zweier (Teil-)pfade verwende die Path.Combine()-Methode:

    string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
    path = Path.Combine(path, "CHART-BILDER");
    string filename = DateTime.Now.ToString("yyyy.MM.dd.hh.mm.ss")+".jpg";
    string path_with_filename = Path.Combine(path, filename);
    

    Ab .NET 4 kannst du auch Path.Combine mit mehr als 2 Parametern aufrufen, z.B.

    string path_with_filename = Path.Combine(path, "CHART-Bilder", filename);
    

Anmelden zum Antworten