This page shows the source for this entry, with WebCore formatting language tags and attributes highlighted.

Title

ImageSharp vs. SkiaSharp

Description

I watched a great video about image-manipulation using an AWS lambda function. <media src="https://www.youtube.com/v/aLozGWQa2Cc" href="https://www.youtube.com/watch?v=aLozGWQa2Cc" source="YouTube" author="Nick Chapsas" width="560px" caption="Working With Images Like a Pro in .NET"> I was curious about the imaging library he was using and searched for <c>ImageProcessingContext</c> (because I saw it in his code). That led me to <i>ImageSharp</i>, after which I searched for comparisons to the cross-platform library used in <a href="https://learn.microsoft.com/en-us/dotnet/maui/" source="MSDN">Maui</a>. That led me to the issue <a href="https://github.com/dotnet/Microsoft.Maui.Graphics/discussions/443" source="GitHub">SkiaSharp vs ImageSharp</a>, which noted that, <bq>Note that JimBobSquarePants, the creator of ImageSharp, contributed some interesting discussion in #47.</bq> I read/waded through that whole issue thread and commented the following: <info>tl;dr: Maui.Graphics uses SkiaSharp because it is a 2D-rendering library rather than just an image-manipulation library.</info> <img src="{att_link}7n78fw.jpg" href="{att_link}7n78fw.jpg" align="right" scale="50%">For future readers: The discussion itself is not very interesting, but the conclusion is. The title of the issue is <a href="https://github.com/dotnet/Microsoft.Maui.Graphics/issues/47" source="GitHub">Basic premise of the library is based upon a fallacy and harms existing projects.</a> (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 <i>but</i> it allows using GPU rendering on supported platforms whereas ImageSharp is for in-memory data (CPU-bound). In the <a href="https://github.com/dotnet/Microsoft.Maui.Graphics/issues/47">referenced issue</a> itself, I commented, <bq>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.</bq> I just got a response today: <bq>No way to pin comments, but I added a link to that comment from the initial issue description.</bq> Nice! 👌❤️‍🔥