I’m renovating the core library of ImageGlass

I have been receiving many requests about supporting viewing multi-page for those image format like TIF, ICO,… but it’s tough to implement due to structure of the core library.

Besides Magick.NET, ImageGlass uses variety of third-party libraries to load particular image formats, such as IconLib for icon file, WIC for RAW formats… This helps the app to be able support more file extensions, but also makes the core library messy and fragmented.

ImageGlass Core library

After a month, I have completed the first stage of renovation, and introduced the new core library called ImageGlass.Heart which is already integrated to the latest version of ImageGlass Moon (v6.1.5.12).

ImageGlass.Heart library

So, what are the differences?

  • ImageGlass.Heart supports C# asynchronous function that does not freeze the user interface while running.
  • ImageGlass.Heart supports changing the number of maximum files can be cached in memory. ImageGlass.Core only supports 3 files.
  • In ImageGlass.Heart, ImageBooster is improved with better file position caching and resource releasing.
  • In ImageGlass.Heart, the loading functions are unified and easy to develop.

But…

  • ImageGlass.Heart consumes a little bit more memory than ImageGlass.Core. But, it’s only about 3%. 😶

And not over yet, with the above pros of ImageGlass.Heart, it’s quite promising to implement multi-page viewing feature for TIFF, ICO,.. format. In the stage 2, I may introduce “hard-disk caching” which I am currently still researching. 😚


If you want to try out ImageGlass.Heart, you can download ImageGlass Moon: https://imageglass.org/moon, which has the latest of the new ImageGlass features.

Be forewarned: ImageGlass Moon is designed for early adopters, and can contain bugs.

By the way, I’m exploring blockchain world as well. I will post articles about it in the future! 😆