This project has moved and is read-only. For the latest updates, please go here.
7
Vote

Mono support is missing

description

If I understand well, because of the nature of accessing embedded dlls it is impossible to use the mono dllmap feature to use the library on mono.

If there would be a version which would ship the dlls as non-embedded files, it would be simple to map to the apropriate .so files on Linux.

comments

dlemstra wrote Aug 21, 2015 at 7:20 PM

I will try to add support for Mono/.NET Core at some point in the future. I will keep this issue open to remind me about it :)

DaveVdE wrote Jan 25, 2016 at 8:20 PM

There's a need for image resizing and related operations on an ASP.NET Core backend. Right now, there's no such solution. I can't say how hard it would be to support other platforms, but on Windows I think Magick.NET could be the ticket.

dlemstra wrote Jan 25, 2016 at 8:33 PM

I am now busy with a huge rewrite of Magick.NET. The library uses CLI/C++ at this moment but that won't work on other platforms. I am switching to P/Invoke to make it possible to use Magick.NET in .NET Core on any platform. I hope to finish the rewrite in a couple of weeks. The next step after that will be making it possible to use Magick.NET under .NET Core on Windows. And then I will try to get it working on another OS.

DaveVdE wrote Jan 26, 2016 at 10:35 AM

Image

dlemstra wrote Feb 14, 2016 at 4:55 PM

Magick.NET is now available for .NET Core on Windows: http://www.nuget.org/packages?q=Magick.NET.Core

DaveVdE wrote Feb 15, 2016 at 8:51 AM

That is excellent news!

mrjensen wrote Sep 5, 2016 at 8:47 AM

Great project you got going here.
Are there any update on when the .NET Core version will run on other OSes?

dlemstra wrote Sep 5, 2016 at 7:47 PM

The next OS that I will try to get it running on will be Ubuntu. Hope to do that this year.

yothsoggoth wrote Sep 22, 2016 at 2:02 PM

Any updates on the progress of supporting other OSes? I'm eager to use Magick.NET on OS X as part of a Unity editor tool.

dlemstra wrote Sep 22, 2016 at 5:44 PM

OS X will require me to buy/receive a Mac so it is not very likely that this will happen anytime soon.

yothsoggoth wrote Sep 28, 2016 at 12:32 PM

I forked the project to https://magick.codeplex.com/SourceControl/network/forks/yothsoggoth/magicknet and I've done some work there to add support for OS X.

The managed .NET parts didn't require any changes as Mono handles that just fine.

The only part that needed to be modified is the native library, which required a couple of minor code changes to support non-Windows platforms.
I've added the Xcode project to the repo, which is setup to build a native .dylib, which can be switched in place of the .Native.DLL and DLLImport will find it just fine.

Building on OS X requires building ImageMagick from source (or finding existing libs for the desired arch) and either having the necessary libs installed on the machine (libjpeg, libpng, etc. - see http://www.imagemagick.org/script/advanced-unix-installation.php) to build statically or linking dynamically against ImageMagick and shipping the dylib for that instead.

dlemstra wrote Sep 28, 2016 at 9:27 PM

Cool that you gave it a try :) It would be nice if we could somehow compile the ImageMagick code the same way as under Windows. This means that we would need to clone https://github.com/ImageMagick/ImageMagick-Windows and run CloneRepositories.sh to get all the repositories. And then run a build script that would build all the repositories under Ubuntu / OS X. I would be really happy if you could help me with creating a "static link" script that would build all those dependencies and statically link that with the Native Library.

ktngoykalolo wrote Nov 5, 2016 at 8:16 AM

Hello,
what about Xamarin support ?
would you need help with that ?

dlemstra wrote Jul 26 at 6:44 AM

Now working on adding Linux support in this issue: https://github.com/dlemstra/Magick.NET/issues/74. Got it working with Mono and .NET Core in a proof of concept project.