|<<>>|28 of 275 Show listMobile Mode

ImageSharp vs. SkiaSharp

Published by marco on

Updated by marco on

I watched a great video about image-manipulation using an AWS lambda function.

Working With Images Like a Pro in .NET by Nick Chapsas (YouTube)

I was curious about the imaging library he was using and searched for ImageProcessingContext (because I saw it in his code). That led me to ImageSharp, after which I searched for comparisons to the cross-platform library used in Maui (MSDN).

That led me to the issue SkiaSharp vs ImageSharp (GitHub), which noted that,

“Note that JimBobSquarePants, the creator of ImageSharp, contributed some interesting discussion in #47.”

I read/waded through that whole issue thread and commented the following:

tl;dr: Maui.Graphics uses SkiaSharp because it is a 2D-rendering library rather than just an image-manipulation library.

 For future readers: The discussion itself is not very interesting, but the conclusion is. The title of the issue is Basic premise of the library is based upon a fallacy and harms existing projects. (GitHub) (referring to Maui.Graphics), which doesn’t feel super-constructive (and wasn’t). There are long screeds about how harmful MS is for everything OSS. The final comment is worth reading, as it explains that it turns out that the harshness of the issue title was completely unwarranted (as admitted by the original poster). Good conclusion; typically unproductive Internet discussion.

There is no conflict. Skia’s support for images is weaker than ImageSharp’s but it allows using GPU rendering on supported platforms whereas ImageSharp is for in-memory data (CPU-bound).

In the referenced issue itself, I commented,

“That’s wonderful. While I’m happy to learn that the issue was resolved, is there any way that we can pin this comment to the top so that future readers don’t have to wade through the 80% catfight in the middle?

“I was linked to this issue while researching Skia vs. ImageSharp and found the initial question and a couple of responses interesting, then waded through 80% chest-thumping, then finally got to this comment that essentially says “hey, we actually talked to each other and it turns out it was a tempest in a teapot”, which is what I was hoping to learn.”

I just got a response today:

“No way to pin comments, but I added a link to that comment from the initial issue description.”

Nice! 👌❤️‍🔥