Closed rpnetcoder closed 1 year ago
An earlier version of ImageMagick would automatically do a call to image.Coalesce()
before saving the image but this had to be removed because it would cause issues when a user already did this themselves. So you will now need to do this yourself before saving the image.
Calling image.Coalesce() for the code above is helpful. However, there is some side effect. Consider the usual flow: image.Coalesce() -> [do something with image] -> image.Optimize() -> image.ToByteArray(). The last call image.ToByteArray() will fail for animated WebP (but NOT for GIF) if do not remove image.Optimize() call from the chain. In its turn, removing image.Optimize() will cause little larger image weight for animated WebP and inconsistency of WebP vs GIF image handling.
The call to Coalesce()
was always done before saving the WebP image but you will now need to do it yourself.
Thanks for the clarification
Magick.NET version
Magick.NET-Q16-AnyCPU, 12.3.0
Environment (Operating system, version and so on)
Window 10, x64
Description
Comparing to Magick.NET 9.1.2, the newest Magick.NET 12.3.0 fails to read/write any animated WebP images I have tried.
Steps to Reproduce
Please execute the following code with predefined animated WebP encoded to base64 with Magick.NET-Q16-AnyCPU, 12.3.0. This code doesn't fail with Magick.NET-Q16-AnyCPU, 9.1.2.
`string animatedWebpBase64 = "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"; byte[] animatedWebpBytes = Convert.FromBase64String(animatedWebpBase64);