Foros del Web » Programación para mayores de 30 ;) » .NET »

Reducir peso de gif animado

Estas en el tema de Reducir peso de gif animado en el foro de .NET en Foros del Web. Hola, estoy haciendo una aplicacion de consola para reducir el peso de un directorio de imagenes. Funciona correctamente, pero con los gif animados elimina la ...
  #1 (permalink)  
Antiguo 22/02/2018, 10:15
 
Fecha de Ingreso: febrero-2008
Mensajes: 69
Antigüedad: 16 años, 1 mes
Puntos: 0
Reducir peso de gif animado

Hola,

estoy haciendo una aplicacion de consola para reducir el peso de un directorio de imagenes. Funciona correctamente, pero con los gif animados elimina la animación.

¿Hay alguna manera de hacerlo sin perderla?

El código que estoy usando es éste:

Código:
string extension = Path.GetExtension(s);
                ImageFormat formato = ImageFormat.Jpeg;
                bool valido = false;
                switch (extension.ToLower())
                {
                    case ".jpg":
                        formato = ImageFormat.Jpeg;
                        valido = true;
                        break;
                    case ".gif":
                        formato = ImageFormat.Gif;
                        valido = true;
                        break;
                    case ".png":
                        formato = ImageFormat.Png;
                        valido = true;
                        break;
                }

                if (valido)
                {

                    try
                    {
                        using (Image bmp1 = Image.FromFile(s))
                        {
                            ImageCodecInfo jpgEncoder = GetEncoder(formato);

                            // Create an Encoder object based on the GUID  
                            // for the Quality parameter category.  
                            System.Drawing.Imaging.Encoder myEncoder =
                                System.Drawing.Imaging.Encoder.Quality;

                            // Create an EncoderParameters object.  
                            // An EncoderParameters object has an array of EncoderParameter  
                            // objects. In this case, there is only one  
                            // EncoderParameter object in the array.  
                            EncoderParameters myEncoderParameters = new EncoderParameters(1);

                            EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 30L);
                            myEncoderParameters.Param[0] = myEncoderParameter;
                            bmp1.Save("C://Temp/auxiliar" + extension, jpgEncoder, myEncoderParameters);
                        }

                        File.Delete(s);
                        File.Move("C://Temp/auxiliar" + extension, s);
                        File.Delete("C://Temp/auxiliar" + extension);
                    }
                    catch { }
                }
__________________
Aprendiendo a programar

Agradezco comentarios ;)
  #2 (permalink)  
Antiguo 27/02/2018, 05:12
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Reducir peso de gif animado

De aquí puedes sacar alguna idea

https://www.google.es/search?ei=bz6V....0.zju4Qn3U-SY
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: gif, peso, reducir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:07.