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

ImageSharp sometimes add gray rectangle at the bottom right #2638

Closed
4 tasks done
laitauchocolat opened this issue Jan 3, 2024 · 26 comments · Fixed by #2701
Closed
4 tasks done

ImageSharp sometimes add gray rectangle at the bottom right #2638

laitauchocolat opened this issue Jan 3, 2024 · 26 comments · Fixed by #2701

Comments

@laitauchocolat
Copy link

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.0

Other ImageSharp packages and versions

3.0.1

Environment (Operating system, version and so on)

Windows 11

.NET Framework version

.NET 6

Description

On some picture, ImageSharp will add a gray rectangle at the bottom right,
Original: 826862_3
Final: square

Steps to Reproduce

Download sample projet c#
Replace fb.jpg with the original picture:
826862_3
try it with version 3.0.1, (no gray square)
erease debug + obj and install the latest version 3.1.2 and execute, (gray square)

Images

No response

@JimBobSquarePants
Copy link
Member

@br3aker would it be possible for you to have a look at this? I thought we’d fixed it previously.

@omuleanu
Copy link

omuleanu commented Jan 29, 2024

I got the same thing net8.0
mango
mangoSaved

I save it like this:

using var fstream = file.OpenReadStream(); // file is IFormFile (asp.net core)

var img = Image.Load(fstream);
await img.SaveAsync(filePath, new JpegEncoder { Quality = 50 });

cropping the bottom part helps avoid the problem

@JimBobSquarePants
Copy link
Member

Does the issue happen on decode or encode?

I got the same thing net8.0

What do you mean by this? Same version different target framework?

@omuleanu
Copy link

@JimBobSquarePants
version 3.1.2
net8.0
the image with the gray square is the result of img.SaveAsync(filePath, new JpegEncoder { Quality = 50 });
I assume this is encode.

@JimBobSquarePants
Copy link
Member

OK. Can you please encode the image as Png and let me know whether the result is the same?

@omuleanu
Copy link

using await img.SaveAsPngAsync(Path.ChangeExtension(filePath, "png")); I also get the gray square,
I'm also doing a clone and resize to 300x300 and that one also has the square.

2

@JimBobSquarePants
Copy link
Member

Decoder then. Will need to figure out the commit that broke it.

@br3aker
Copy link
Contributor

br3aker commented Feb 1, 2024

Hm, that's strange. I'll take a look this weekend.

@JimBobSquarePants
Copy link
Member

@br3aker
Copy link
Contributor

br3aker commented Feb 26, 2024

Thanks @br3aker it was likely something around this. #2516 (files)

That's actually it but fix is rather complex if we don't want to break existing logic with that fast 'DOS images'. Working on it atm.

@JimBobSquarePants
Copy link
Member

JimBobSquarePants commented Feb 26, 2024

@br3aker I kid you not I was JUST this second writing a comment to see if you wanted me to have a look. 🤪

Thanks for helping out. Much appreciated!

@phoebusryan
Copy link

phoebusryan commented Mar 6, 2024

This also happens in Version 2.1.6. It's not an Version 3-Issue

@hightechie
Copy link

This also happens in Version 2.1.6. It's not an Version 3-Issue

I upgraded from 2.1.3 to 2.1.7 due to CVE-2024-27929 and am seeing the gray rectangle on certain images also.

@JimBobSquarePants
Copy link
Member

JimBobSquarePants commented Mar 7, 2024

The same code is in both v2 and v3. Trust @br3aker in his analysis, he knows more about that decoder than anyone on the planet.

@phoebusryan
Copy link

Sounds good. Hope he will find a solution, soon :)

@AndrewGretton
Copy link

AndrewGretton commented Mar 18, 2024

Is there any update on this issue? It's negatively impacting us, and the workaround of cropping feels kinda hacky :-)

@JimBobSquarePants
Copy link
Member

I'll prioritize it. Stay tuned.

@JimBobSquarePants
Copy link
Member

I've got PRs open for the v3 and v4 branches. It's nearly 1am here now though so I'll see how reviews go in the morning.

@AndrewGretton
Copy link

Thanks for the amazingly fast turnaround @JimBobSquarePants - appreciate it! Looking forward to a new version appearing on nuget soon.

@AndrewGretton
Copy link

Hey @JimBobSquarePants - any chance of a new release on nuget 🙏 ? It beats building from source ourselves

@JimBobSquarePants
Copy link
Member

Working on it! Just gotta get one critical task done first.

@hightechie
Copy link

@JimBobSquarePants - Is there any chance of this being backported to v2? (we're still dependent on .NET Standard) I just tried upgrading to 2.8 from 2.3 (to address the two CVE's) and the gray rectangle appears with our test images. Thank you kindly if you're able to make this happen.

@JimBobSquarePants
Copy link
Member

JimBobSquarePants commented Apr 19, 2024

If you open a PR against our 2.1.x release branch I can get one merged. We’re only backporting security releases in-house at the moment to stay on top of maintenance.

@hightechie
Copy link

If you open a PR against our 2.1.x release branch I can get one merged. We’re only backporting security releases in-house at the moment to stay on top of maintenance.

I appreciate the quick reply and certainly understand you have to prioritize your time. If I knew how to do this I absolutely would do so, I'm just not sure how to even go about attempting something like this unfortunately. Regardless, thank you for everything you do for the community here.

@fabercs
Copy link

fabercs commented May 8, 2024

Hi, I got the same issue in my project .net6.0 and the ImageSharp version is 3.1.4.
I couldn't figure out if this issue fixed in 3.1.4 or for next release, anyone help?

@JimBobSquarePants
Copy link
Member

Hi, I got the same issue in my project .net6.0 and the ImageSharp version is 3.1.4. I couldn't figure out if this issue fixed in 3.1.4 or for next release, anyone help?

The fix has been released. If you are still seeing an issue, please raise a separate ticket with the image in question.

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.

8 participants