Go to file
Andrea Cavalli 312c0e3c73 Change usage in readme 2021-01-21 11:39:41 +01:00
src/main add: ResizeTest example 2020-05-07 19:47:52 +08:00
test_pic update: how to compile native library and new win dll 2019-09-06 23:46:54 +08:00
.gitignore init 2017-03-02 13:03:37 +08:00
LICENSE Add 2019-09-12 22:15:53 +08:00
README.md Change usage in readme 2021-01-21 11:39:41 +01:00
pom.xml Add deploy informations 2021-01-21 11:37:10 +01:00

README.md

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