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);