Korim: Kotlin cORoutines IMaging utilities depending on Korio for JVM, Kotlin-JS, Android, Jtransc+Node.JS and Jtransc+Browser
Use with gradle:
compile "com.soywiz:korim:$korVersion"
Bitmap base class + Bitmap8 and Bitmap32. And other fancy bitmaps: BitmapIndexed as base + Bitmap1, Bitmap2, Bitmap4 Ad BitmapChannel
Korim provides utilities for reading and writing some image formats without any kind of additional dependency.
PNG, JPG, TGA, BMP, ICO, PSD(WIP) and DDS (DXT1, DXT2, DXT3, DXT4 and DXT5).
Korim also allows to use native image readers from your device for maximum performance for standard image formats.
Korim provides color formats to convert easily and fast and to perform, mixing, de/premultiplication and other operations quickly.
Korim supports loading, rasterizing and drawing vectorial SVG files.
It provides a single interface for vector rendering so you can use a single interface and leverage JavaScript Canvas, AWT's Graphics2D, Android Canvas or any other rasterizer exposed by korim implementations. It also allows to convert shapes into SVG. Includes a feature to draw shapes with fills in contact without artifacts in a portable way by multisampling. Useful for offline rasterizers.
Korim provides AWT utilities to convert bitmaps into AWT BufferedImages, and to display them. These are just extensions so not referenced from the main code. And if you use native image loading, you can display those images as fast as possible without any conversion at all.
Korim provides native font rendering. You can rasterize glyph fonts on all targets without actually including any font, using device fonts.
Korim provides a pure Kotlin-Common TTF reader, and using native vectorial rendering allows you to render glyphs, texts and to get advanced font metrics.
Korim provides korio integration adding VfsFile.readBitmap()
that allows Bitmap reading easily
and faster (with native implementations) in some targets like browsers.