Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WebP encoding produces a 100% transparent image #2801

Closed
4 tasks done
Lovrenc opened this issue Aug 28, 2024 · 3 comments · Fixed by #2823
Closed
4 tasks done

WebP encoding produces a 100% transparent image #2801

Lovrenc opened this issue Aug 28, 2024 · 3 comments · Fixed by #2823

Comments

@Lovrenc
Copy link

Lovrenc commented Aug 28, 2024

Prerequisites

  • I have written a descriptive issue title
  • I have verified that I am running the latest version of ImageSharp
  • I have verified if the problem exist in both DEBUG and RELEASE mode
  • 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

bugged_image.zip

@JimBobSquarePants
Copy link
Member

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.

@JimBobSquarePants
Copy link
Member

Confirmed. It's the lossy decoder. Something is failing there when applying the alpha values to the pixels. We're getting zero for everything.

@JimBobSquarePants
Copy link
Member

Found the issue, will PR soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants