Hallo zusammen,
mein Projekt lädt ein Foto in eine PictureBox. Dann ergänze ich Exif-Werte und speichere es wieder. Das resultierende Bild ist dann satte 600kb kleiner als das Original. Nach langen Tests stellte sich heraus, dass Metadaten teilweise verloren gehen. Die eigentlichen Exif-Daten bleiben erhalten. Es sind aber noch weitere Daten vom "Maker" hinterlegt (unter der Kategorie listet XnView sie auf). Diese "Maker"-Daten sind nach dem Speichern teilweise weg. XnView liest ca. 370 Werte über das Exiftool aus. Speichere ich das Foto über mein Projekt neu ab, dann sind es nur noch ca. 220 Werte. Teilweise sind die Daten also noch da. Ich dachte natürlich es läuft etwas beim Beschreiben der Exif-Werte falsch. Das Problem tritt aber auch auf, wenn das Foto einfach unverändert gespeichert wird.
Mich verwirrt besonders, dass die Daten aus diesem Teilbereich nur teilweise verschwinden.
Mein Projekt ist in VS2017 erstellt. Bei den Fotos handelt es sich um normale JPGs.
Hier mal der Code auf's Wesentliche gekürzt.
Hat jemand eine Idee was ich da falsch mache?
Gruß
eddi
mein Projekt lädt ein Foto in eine PictureBox. Dann ergänze ich Exif-Werte und speichere es wieder. Das resultierende Bild ist dann satte 600kb kleiner als das Original. Nach langen Tests stellte sich heraus, dass Metadaten teilweise verloren gehen. Die eigentlichen Exif-Daten bleiben erhalten. Es sind aber noch weitere Daten vom "Maker" hinterlegt (unter der Kategorie listet XnView sie auf). Diese "Maker"-Daten sind nach dem Speichern teilweise weg. XnView liest ca. 370 Werte über das Exiftool aus. Speichere ich das Foto über mein Projekt neu ab, dann sind es nur noch ca. 220 Werte. Teilweise sind die Daten also noch da. Ich dachte natürlich es läuft etwas beim Beschreiben der Exif-Werte falsch. Das Problem tritt aber auch auf, wenn das Foto einfach unverändert gespeichert wird.
Mich verwirrt besonders, dass die Daten aus diesem Teilbereich nur teilweise verschwinden.
Mein Projekt ist in VS2017 erstellt. Bei den Fotos handelt es sich um normale JPGs.
Hier mal der Code auf's Wesentliche gekürzt.
VB.NET-Quellcode
- Public Sub PictureBox1_PaintF(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs)
- Dim Fotostream As New System.IO.FileStream(Foto_Datei_PB1, IO.FileMode.Open)
- Foto = New Bitmap(Fotostream)
- e.Graphics.DrawImage(Foto, Bild_Pos_X, Bild_Pos_Y, Bildbreite_Soll, Bildhöhe_Soll)
- Fotostream.Close()
- end sub
- Public Sub speichern()
- Dim Foto As Image = Image.FromFile(Foto_Datei_PB1)
- Foto.Save(Foto_Datei_PB1 & " SPEICHERETEST.jpg")
- End Sub
Hat jemand eine Idee was ich da falsch mache?
Gruß
eddi
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „eichseinet“ ()