-
Notifications
You must be signed in to change notification settings - Fork 56
Replace System.Drawing.Common
with SkiaSharp
to improve cross platform support
#61
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
Conversation
Hi @vadd98, thanks for this PR! It's pretty big and appears to be breaking too 😅 I'm very interested in merging this in eventually, but it may take me a while before I can review this one! Just wanted to give you a heads up is may take longer than typical for me to get to this one. |
Note that if this had been implemented in a non-breaking way (or if it's updated to be such) then I'll merge it in much faster and issue a release quickly! Putting all SkiaSharp related new code in an 👆 I figured I'd give you some alternative options to help this get merged faster in case you'd like to see this on NuGet sooner than later 🚀 |
@vadd98 |
@GeorgeS2019 it should be already implemented, probably I just skipped it somewhere. I'm going to take a look @swharden I can move all the SkiaSharp related code to an Experimental folder, that would not be a problem. Just give me any hint on how you'd prefer to manage the Experimental namespace: for example, do you want there a new ImageMaker class with just the SkiaSharp implementation? |
I fixed the ColorMap implementation. |
After thinking about it some more, I recognize that a goal is to completely remove It may be painful for people who are already using this package, but (1) they don't have to upgrade if they don't want to and (2) I'm prepared to go for it and answer questions as they pop up! I'll make some refinements to this PR, merge it, publish a new package this morning, and we'll see how it goes 😅😅😅 In the interest of speed I may adopt a dependency on Thanks again for your work on this! I'll commit directly to this PR and merge shortly 😎 |
Adding context, https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only |
System.Drawing.Common
with SkiaSharp
to improve cross platform support
Looking deeper at this, I'll probably focus on this today and see how far I get. Hopefully I can refactor this to bring it up to modern standards quick enough to let me release a new package today, and we can continue to refine this with time. I'm going to try to use ScottPlot color and colormap logic to minimize the amount of primitive testing I have to do along the way. We can always break away from ScottPlot in the future once the core functionality of this library is working well. |
Perhaps use an older version of SkiaSharp |
I bumped the package version to Hopefully this gets the ball rolling, but leaving it a preview package protects us from people getting surprised about breaking changes, and gives us a little more time to refine the API. Thanks again for all your help! |
Thanks for your work! I'll test the new alpha version in my projects |
Hi!
I replaced the dependency to System.Drawing.Common with SkiaSharp, allowing the use of this library on all OS platforms targeting the newests .NET versions