ImageSharp
ImageSharp copied to clipboard
WebP encoding produces a 100% transparent image
Prerequisites
- [X] I have written a descriptive issue title
- [X] I have verified that I am running the latest version of ImageSharp
- [X] I have verified if the problem exist in both
DEBUGandRELEASEmode - [X] I have searched open and closed issues to ensure it has not already been reported
ImageSharp version
3.1.5
Other ImageSharp packages and versions
/
Environment (Operating system, version and so on)
Windows 11 23H2
.NET Framework version
7.0
Description
WebP encoding produces an entirely transparent image.
It seems that quality settings, lossy or lossless or EncodingMethod Level had no effect (I tested about 20 combinations).
Decoding looks ok, if I export the same image as JPEG it works fine.
Steps to Reproduce
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Formats.Jpeg;
using SixLabors.ImageSharp.Formats.Webp;
var path = "d:\\";
var img = Image.Load($"{path}bugged_image.webp");
var encoder = new WebpEncoder()
{
Quality = 65,
FileFormat = WebpFileFormatType.Lossy,
TransparentColorMode = WebpTransparentColorMode.Preserve,
Method = WebpEncodingMethod.Level2
};
await img.SaveAsync($"{path}bugged_image_result_direct.webp", encoder);
Images
I don't think this is the encoder., I think it's the decoder. If you save the image as a PNG the same occurs.
Confirmed. It's the lossy decoder. Something is failing there when applying the alpha values to the pixels. We're getting zero for everything.
Found the issue, will PR soon.