Forums Neueste Beiträge
 

System.Drawing.Bitmap(),Save - Bild ist zu groß

24/11/2007 - 20:20 von Christian Maaß [MCSA] | Report spam
Hallo zusammen,

habe leider wieder ein kleines Problem und hoffe es kann mir von euch jemand
weiterhelfen:

Sagen wir, ich habe ein paar Bilder von einer Digitalkamera, alle mit 10
Megapixel zwischen 1,9 - 2,5 MB groß. Nun habe ich eine Batchanweisung
geschrieben.

Wenn ich ein Bild (vom Typ System.Drawing.Bitmap) mittels
myImage.Save((string) FilenName) speichere, ohne es vorher bearbeitet zu
haben, ist alles wunderbar: Das gespeicherte Bild hat die selben Exif-Infos
und Dateigröße wie das Original. Wenn ich es aber bearbeitet habe, z.B.
durch ein einfaches myImage.RotateFlip(...) und dann die Funktion nochmals
aufrufe hat mein Bild nur noch knapp 500 kb und dementsprechende Qualitàt.

Da hab ich mir folgendes geschrieben:

public static void SaveBitmap(Bitmap image, string szFileName, string
MimeType)
{
EncoderParameters eps = new EncoderParameters(1);
eps.Param[0] = new EncoderParameter(Encoder.Quality, 100L);
ImageCodecInfo ici = GetEncoderInfo(MimeType);
image.Save(szFileName, ici, eps);
}

Jetzt sind die gespeicherten Bilder Qualitativ wunderbar, nur leider wurden
ein paar Exif-Informationen geklaut (nicht alle, ist auch nicht soo schlimm)
und sàmtliche Bilder sind plötzlich so um die 3-3,5 MB groß.

Mein Hintergrund:
Ich bin Hobbyfotograf mit eigenem Foto-Studio und habe mir gerade ein
kleines Batch-Programm geschrieben, was für mich z.B. die Bilder alle
automatisch anhand der Exif-Infos drehen soll. Da ein Shooting-Tag so um die
600-700 Bilder umfasst ist es natürlich schon irgendwo àrgerlich wenn jedes
Bild um etwa einen MB wàchst. Die Fehlenden Exif-Infos sind dabei jetzt
nicht so schlimm..

Hat vielleicht jemand eine Idee oder besser Lösung wie ich Bilder ohne
Qualitàtsverlust gut drehen und bearbeiten kann, und das möglichst mit
(fast) gleicher Dateiausgangsgröße?

Vielen Dank im Voraus,
Gruß, Christian
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
24/11/2007 - 20:50 | Warnen spam
"Christian Maaß [MCSA]" schrieb:
Sagen wir, ich habe ein paar Bilder von einer Digitalkamera, alle mit 10
Megapixel zwischen 1,9 - 2,5 MB groß. Nun habe ich eine Batchanweisung
geschrieben.
[...]
Mein Hintergrund:
Ich bin Hobbyfotograf mit eigenem Foto-Studio und habe mir gerade ein
kleines Batch-Programm geschrieben, was für mich z.B. die Bilder alle
automatisch anhand der Exif-Infos drehen soll.



Abgesehen von Deinem konkreten Anliegen: Beachte, daß der JPEG-Codierer von
GDI+ bei gleicher Dateigröße nicht so viel aus dem Bild herausholen kann,
wie etwa jener von z.B. Adobe Photoshop.

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://classicvb.org/petition/>

Ähnliche fragen