SixLabors / ImageSharp

:camera: A modern, cross-platform, 2D Graphics library for .NET
https://sixlabors.com/products/imagesharp/
Other
7.49k stars 850 forks source link

[webp]animated webp image became static after processing #2521

Closed marshafan closed 1 year ago

marshafan commented 1 year ago

Prerequisites

ImageSharp version

3.0.1

Other ImageSharp packages and versions

SixLabors.ImageSharp.Drawing(1.0.0)

Environment (Operating system, version and so on)

Win10 22H2

.NET Framework version

.NET 6

Description

mathiasbynens.be/demo/animated-webp-supported.webp cannot load animated webp images or save one correctly. Maybe the method I used is wrong. Really appreciate for your work~

Steps to Reproduce

1.download the example image 2.load with code

            using (var imgStream = new MemoryStream())
            {
                await Request.Body.CopyToAsync(imgStream);
                if (imgStream == null || imgStream.Length == 0)
                {
                    return Fail("image can not be null");
                }
               var  buffer = new byte[imgStream.Length];
                imgStream.Position = 0;
                await imgStream.ReadAsync(buffer, 0, buffer.Length);
                //using(Image img=Image.Load(file))  //At first i wrote this line which turned out img.Frames.Count=1
                using (Image img = Image.Load(new DecoderOptions { MaxFrames = 100 }, file))//this way turned out img.Frames.Count=12
                {
                            var filePath= AppContext.BaseDirectory + Guid.NewGuid().ToString() + ".webp";
                            await img.SaveAsync(filePath);
                }
            }

Images

68747470733a2f2f6d61746869617362796e656e732e62652f64656d6f2f616e696d617465642d776562702d737570706f727465642e77656270.zip

brianpopow commented 1 year ago

@marshafan we do not support encoded animated webp yet. That is the last missing feature for webp. See: Missing features webp