Laden...

JPG abspeichern

Erstellt von chrbeck vor 20 Jahren Letzter Beitrag vor 20 Jahren 6.432 Views
C
chrbeck Themenstarter:in
1 Beiträge seit 2004
vor 20 Jahren
JPG abspeichern

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

354 Beiträge seit 2004
vor 20 Jahren

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

C
10 Beiträge seit 2004
vor 20 Jahren

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

C
980 Beiträge seit 2003
vor 20 Jahren

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?