private void button_Compresser_Click(object sender, System.EventArgs e) { MemoryStream stream = new MemoryStream(); Image img = pictureBox_Brut.Image; // ImageCodecInfo // récup de celui qui nous interresse ImageCodecInfo codec_info=null; foreach ( ImageCodecInfo info in ImageCodecInfo.GetImageEncoders()) { if ( info.MimeType == "image/jpeg") { codec_info = info; break; } } // EncoderParameters EncoderParameters encoder_params = new EncoderParameters(1); encoder_params.Param[0] = new EncoderParameter(Encoder.Quality, (long)numericUpDown.Value); img.Save(stream, codec_info, encoder_params); pictureBox_Compresse.Image = Image.FromStream(stream); }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionbool f = false; private void ApplyChanges() { InitializeBitmap(); try { Encoder enc = Encoder.Quality; EncoderParameter ep = new EncoderParameter(enc, (long)(Compression.Value)); EncoderParameters eps = new EncoderParameters(1); eps.Param[0] = ep; ImageCodecInfo ici = GetEncoderInfo("image/jpeg"); string file = "Temp.jpg"; string fileToDelete = ""; if(f) { file = "Temp.jpg"; fileToDelete = "Temp2.jpg"; } else { file = "Temp2.jpg"; fileToDelete = "Temp.jpg"; } f = !f; LiveBitmap.Save(Application.StartupPath + @"" + file, ici, eps); LiveBitmap.Dispose(); LiveBitmap = null; FileInfo fi = new FileInfo(Application.StartupPath + @"" + file); lbEstimedSize.Text = "Taille estimée : " + fi.Length / 1024 + " Ko"; LivePicture.Image = InitialPicture.Image; LivePicture.Image = Image.FromFile(fi.FullName); fi = null; fi = new FileInfo(Application.StartupPath + @"" + fileToDelete); if(fi.Exists) fi.Delete(); fi = null; } catch(Exception e) { MessageBox.Show(e.ToString()); } }