Skip to content
This repository has been archived by the owner on Jan 25, 2024. It is now read-only.

Releases: MolotovCherry/kmagick

0.2.1 beta - Add new functions

01 Jun 14:36
Compare
Choose a tag to compare

Updated to magick_rust 0.16 and added functions
thumbnailImage
getImageAlphaChannel
drawImage
setImageChannelMask
evaluateImage
borderImage
shadowImage
importImagePixels
setFirstIterator
nextImage
stripImage

Full Changelog: 0.2.0...0.2.1

0.2.0 second beta

17 Mar 16:19
Compare
Choose a tag to compare

Biggest feature is that now are included many different ways to manually destroy wands. The reason you need to do this is because JVM can't GC these since they need to stay alive, and finalize() is an incredibly unreliable, broken method, which even causes objects to be slower (so, I removed finalize(), which means, faster objects!).

You shouldn't rely on Magick.initialize().use to terminate() every time, because, realistically, apps get big, and you can't put it all your code in only one block. (And you should never terminate until you're actually done using things; it's a waste of CPU)

That means the only previous way was to call wand.destroy() on every single wand, which is very verbose, and you may need more options. Now, you can destroy all wands of a certain type (MagickWand, PixelWand, DrawingWand), clear all wands Magick.destroyWands(), and you can even access the internal id of the wand and destroy by id, (you can also batch destroy by ids).

Changes:

  • Remove finalizer on Kotlin (it's EVIL. It slows things down, and it doesn't even work)
    • The solution is to destroy() things yourself (there are many way, see the example)
  • Updated examples
  • Panic now displays actual error message in exceptions
  • More proper formatting of error messages
  • Internal wand ID is now accessible from Kotlin (see why below)
  • You can now destroy wands in MANY different ways. By ID, by IDs, destroy a specific wand type, or destroy ALL app wands
    • This is important as you will need to manage your memory in your app. JVM doesn't GC these wands
  • Fix wand.destroy() method to actually destroy memory

Full Changelog: 0.1.0...0.2.0

First Beta

16 Oct 04:51
21806c6
Compare
Choose a tag to compare

This is the first beta release. There may be some bugs. If you find any, PLEASE report them ASAP so they can get fixed.

Targets are compiled against the latest IM (whichever that is)*

* Binary files below will be auto-updated and auto-compiled against any new ImageMagick versions should any get released. So check back if you need ones linked against the new versions.