Bonjour,
Encore moi !!
je dois compresser un bitmap en Jpg en fonction d'un taux choisi préalablement.
A force de recherche j'ai trouver sur le net le code suivant mais je n'arrive pas a attribuer au nouveaux Bitmap l'image compressé.
Merci de votre aide encore une fois !!
Récupération du format du Bitmap
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
private ImageCodecInfo GetEncoderInfo(String mimeType)
                 {
                 int j;
                 ImageCodecInfo[] encoders;
                 encoders = ImageCodecInfo.GetImageEncoders();
                 for (j = 0; j < encoders.Length; ++j)
                 {
                 if (encoders[j].MimeType == mimeType)
                 return encoders[j];
                 }
                 return null;
                 }
Modif puis attribution au nouveau Bitmap
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
            //chargement de l'image
            Bitmap BmpReduit = new Bitmap(pictureBox1.Image);
            //on prend le codec jpeg
            ImageCodecInfo myImageCodecInfo = GetEncoderInfo("image/jpeg");
            //création d'un paramètre d'encodage lié à la qualité de la compression
            System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality;
            EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, IntMonTaux);
            //on crée un tableau de parametre (il n'y en a qu'un)
            EncoderParameters myEncoderParameters = new EncoderParameters(1);
            myEncoderParameters.Param[0] = myEncoderParameter;
            //on sauvegarde l'image
           //c'est ici que ça bloque.
            BmpReduit.SaveAdd( ??????????????)