Hallo,
ich lade per
this.pictureBoxMain.Image = System.Drawing.Image.FromFile(filename);
ein jpg in meine PictureBox und drehe es dann zB per
this.pictureBoxMain.Image.RotateFlip(System.Drawing.RotateFlipType.Rotate90FlipNone);
ich will jetzt dann das gedrehte bild wieder als jpg abspeichern:
this.pictureBoxMain.Image.Save(new_name, System.Drawing.Imaging.ImageFormat.Jpeg);
und genau hier liegt mein problem: die save methode reduziert das ehemals 600kb gross file zB auf ein 200kb jpg. ich moechte es aber in der gleichen groesse abspeichern.
wer weiss da weiter?
danke und gruss christian
Gehn durch das Abspeichern Informationen verloren? Niedrigere Auflösung etc.? Wenn ja, musst eben genau dort ansetzen bzw. könnte das Thema Komprimierung auch relevant sein. Die Dateigröße an sich, sollte nicht das Problem sein. Vergleich mal die Qualität der beiden.
Nitro
.NET GUI - Die Community für grafische Oberflächen unter .NET
Jetzt kostenlos besorgen: .NET BlogBook
Norbert Eder
DasBackup
Original von nitronic
könnte das Thema Komprimierung auch relevant sein.
da er beim speichern nich den jpg komprimierungsgrad angibt, könnte das nich nur relevant sein, es MUSS relevant sein 🙂
kurz gegoogelt:
EncoderParameters parameters = new EncoderParameters(1);
Encoder enc = Encoder.Quality;
parameters.Param[0] = new System.Drawing.Imaging.EncoderParameter(enc, 100L);
ImageCodecInfo[] ies = ImageCodecInfo.GetImageEncoders();
pictureBox1.Image.Save(@"D:\Test.jpg", ies[1], parameters);
btw: ist die Reihenfolge der gelieferten Encoders immer gleich?
0: image/bmp
1: image/jpeg
2: image/gif
3: image/tiff
4: image/png
-> also immer ies[1] für jpeg?