FreeImage is a popular library for bitmap manipulation, Unity gaming engine is among the users of this library (http://freeimage.sourceforge.net/users.html). The library is an all-in-one wrapper on top of libpng
, libjpeg
, libtiff,
and many others, providing fast image loading routines without falling back to Java code.
FreeImage includes a complete set of Makefiles for different platforms. The compilation of the library for Android is straightforward with the instructions from Dealing with precompiled static libraries section. The Application.mk
file differs from the same file for Curl in one line:
APP_MODULES := FreeImage
In the Android.mk
file, we will change the C compilation flags:
GLOBAL_CFLAGS := -O3 -DHAVE_CONFIG_H=1 -DFREEIMAGE_LIB -DDISABLE_PERF_MEASUREMENT
In the following sample, we will implement two simple routines to load and save images in various file formats to and from memory blocks.
We start with the FreeImage_LoadFromMemory()
routine, which takes the Data
array...