webp-imageio-core/README.md

3.1 KiB

webp-imageio-core

Java Image I/O reader and writer for the Google WebP image format without system lib file.

In source program, coders need to put native lib files like .so/.dll/.dylib into the folder of java.library.path.

For easier to use, qwong/j-webp (bases on webp project of Luciad 0.4.2) import native-lib-loader to load native lib files from project resource folder, instead of java.library.path. (more details to see com.luciad.imageio.webp.WebP.loadNativeLibrary)

However, coders pefer using jar package instead of source java code in personal project. So I fork and edit qwong/j-webp to privide a usable jar. It is a fat jar includes dependencies and native lib file (includes windows/linux/mac both 32&64bit).

Update 20181119: sync from webp project of Luciad 1.0.0

Update 20190912: update win64 dll to libwebp-1.0.3

Update 20191029:

  • prankstrisse provides osx64 dylib file
  • remove x32 .so/.dll/.dylib file

Usage

<repositories>
    <repository>
        <id>mchv-release</id>
        <name>MCHV Release Apache Maven Packages</name>
        <url>https://mvn.mchv.eu/repository/mchv</url>
    </repository>
</repositories>
<dependency>  
    <groupId>com.github.nintha</groupId>  
    <artifactId>webp-imageio-core</artifactId>  
    <version>{version}</version>  
</dependency>

The usage of api, you can see example cases in src/main/java/example.

Compiling the native library

download source code of webp project of Luciad , and unzip it.

wget https://bitbucket.org/luciad/webp-imageio/get/873c5677244b.zip -O luciad-webp-imageio-873c5677244b.zip
unzip luciad-webp-imageio-873c5677244b.zip

download source code of google webp project

git clone https://chromium.googlesource.com/webm/libwebp

or use the mirror repo

copy folder libwebp into folder luciad-webp-imageio-873c5677244b, and create a directory called build in the folder luciad-webp-imageio-873c5677244b

folder tree like this:

luciad-webp-imageio-873c5677244b/
	|_ build/	<-- just created 
	|_ gradle/
	|_ src/
	|_ libwebp/  <-- copy from project libwebp 
	|_ .hgignore
	|....
	|.... (other files)

Install CMake 2.8 or newer. CMake can be downloaded from www.cmake.org or installed using your systems package manager. if you use Win10 and VS 2019, it need CMake 3.14 or newer.

Open a terminal and navigate to the newly created 'build' directory.

cd ./build
cmake ..
cmake --build .

The compiled library can be found under the directory build/src/main/c

if you need specific the generator-name, please add -G <generator-name> parameter for cmake, like this

// cmake ..
cmake .. -G "Visual Studio 16 2019"

Compiling the Java library

  • Run mvn install in the root of the project
  • The compiled Java library can be found under the targetdirectory