Kotlin cORoutines IMaging utilities for Multiplatform Kotlin
Full Documentation: https://korlibs.soywiz.com/korim/
Use with gradle:
repositories {
mavenCentral()
}
dependencies {
compile "com.soywiz.korlibs.korim:korim:$korimVersion"
}
Bitmap base class + Bitmap8 and Bitmap32. And other fancy bitmaps: BitmapIndexed as base + Bitmap1, Bitmap2, Bitmap4 and 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.
Korim 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. Korim 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 they are 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.