Pregunta

¿Hay un método para crear una copia de una imagen gif animado con C #?

Lo que quiero es generar una copia de una imagen gif dada de utilizar los parámetros de altura y anchura que el usuario proporciona. He tratado durante un par de horas para lograr esto, pero la imagen resultante no conserva las animaciones originales.

¿Fue útil?

Solución

Es necesario colocar a través de los fotogramas de la animación GIF y cambiar el tamaño de cada uno.

también puede querer echar un vistazo a giflib .

Otros consejos

Me tomó un tiempo para encontrar esto, pero finalmente encontró una solución:

Instalar Magick.NET a través de NuGet, la licencia se puede encontrar aquí:
https://magick.codeplex.com/license

código de ejemplo:

var newWidth = 100;
using (var collection = new MagickImageCollection(new FileInfo(@"C:\test.gif")))
{
    collection.Coalesce();
    foreach (var image in collection)
    {
        image.Resize(newWidth, 0);
    }
    collection.Write(@"c:\resized.gif");
}

De mis pruebas, esto funciona con canales alfa y diferentes velocidades de cuadro. Parece ser perfecto!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top