Skip to content

Port of Magick.NET on the JVM (via Kotlin Multiplatform)

License

Notifications You must be signed in to change notification settings

Gounlaf/Magick.KT

Repository files navigation

Magick.KT

WHAT?

Magick.NET is awesome ❤️.

Magick.KT humbly try to port it to the JVM with the power of Kotlin Native.

TODO

Everything...

  • Support Quantum
  • Support library variations

HOW

You need to have Magick.Native library and headers installed, plus headers underlying of ImageMagick.

The easiest way to make it work is to follow the FHS.

If you don't follow the FHS:

  1. you have to set local.lib and local.include properties from local.properties.dist
  2. in order to run the tests, you will have to add the value of local.lib to the env var LD_LIBRARY_PATH

Notes & thoughts

Enums

All enum constants are in UPPERCASE format.

Nullable

This project relies on kotlin nullable safety; in other words, all checks regarding nullable are done in the K Way.

Preconditions/Checks

There is no built-in equivalent of C# ArgumentException.

Kotlin's stdlib Preconditions is used for the moment.

Tests

Tests are mostly mirrored from Magick.NET, using the same resources (images).

Tests are done with Kotest

Caveats

Progress

... Unable to maintain a coherent list.

Tests might show the progress.

About

Port of Magick.NET on the JVM (via Kotlin Multiplatform)

Resources

License

Stars

Watchers

Forks