-
-
Notifications
You must be signed in to change notification settings - Fork 850
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
Library Inter-op extensions #435
Comments
Microsoft has recently released System.Drawing.Common , which is a cross platform and NetStandard compatible package of the classic NetFX exclusive System.Drawing.Bitmap namespace. So maybe it's worth to take into account too... but, as @saucecontrol commented here ... maybe not. |
The sad thing is, the majority of devs will continue using System.Drawing because that's what they know. And a large percentage of them will take a Microsoft-authored package over literally anything else. One could at least hope that easy integration and a couple of unique features would tempt some devs to dip a toe in the ImageSharp waters. Maybe then they'll see the light :) |
@tocsoft There's much more image interops than just these, and imho, some critical ones that are worth of attention;
|
We're only writing these to help migration. I think it's up to individual library providers to create interop solutions. DirectX, OpenGL and Vulkan textures are going to be included in gaming engines and will be specific to their API's. Veldrid for example has managed it without us having to write a line of code. |
It would be very helpful if this was provided out of the box like SkiaSharp does: |
ImageSharp should provide an initial standard structure for adding library inter-op apis.
** Simple API the allows for converting
System.Drawing.Image
into anImageSharp.Image<TPixel>
.** Simple API the allows for converting an
ImageSharp.Image<TPixel>
into aSystem.Drawing.Image
.** Simple API for creating an
Image<TPixel>
that wraps the memory used by aSystem.Drawing.Image
** Simple API the allows for converting
UIImage
into anImageSharp.Image<TPixel>
.** Simple API the allows for converting an
ImageSharp.Image<TPixel>
into aUIImage
.** Simple API the allows for converting
CIImage
into anImageSharp.Image<TPixel>
.** Simple API the allows for converting an
ImageSharp.Image<TPixel>
into aCIImage
.** Simple API for creating an
Image<TPixel>
that wraps the memory used by the various image types (if possible)** as above for the various skiasharp constructs
Maybe we just need to provide a
System.Drawing
version (as a new packageSixLabors.ImageSharp.InterOp.SystemDrawing
) but would then allow third party developers to be able to follow common patterns to allow themThe text was updated successfully, but these errors were encountered: