tree: f2f97bcf563d50dd7662addb415801f8c6915dcb [path history] [tgz]
  1. libwebp.go
  2. libwebp.jar
  3. libwebp.py
  4. libwebp.swig
  5. libwebp_gc.c
  6. libwebp_go_wrap.c
  7. libwebp_java_wrap.c
  8. libwebp_python_wrap.c
  9. README.md
  10. setup.py
third_party/libwebp/swig/README.md

SWIG bindings

Building

JNI SWIG bindings

 $ gcc -shared -fPIC -fno-strict-aliasing -O2 \
       -I/path/to/your/jdk/includes \
       libwebp_java_wrap.c \
       -lwebp \
       -o libwebp_jni.so

Example usage:

import com.google.webp.libwebp;

import java.lang.reflect.Method;

public class libwebp_jni_example {
  static {
    System.loadLibrary("webp_jni");
  }

  /**
   * usage: java -cp libwebp.jar:. libwebp_jni_example
   */
  public static void main(String argv[]) {
    final int version = libwebp.WebPGetDecoderVersion();
    System.out.println("libwebp version: " + Integer.toHexString(version));

    System.out.println("libwebp methods:");
    final Method[] libwebpMethods = libwebp.class.getDeclaredMethods();
    for (int i = 0; i < libwebpMethods.length; i++) {
      System.out.println(libwebpMethods[i]);
    }
  }
}
 $ javac -cp libwebp.jar libwebp_jni_example.java
 $ java -Djava.library.path=. -cp libwebp.jar:. libwebp_jni_example

Python SWIG bindings:

 $ python setup.py build_ext
 $ python setup.py install --prefix=pylocal

Example usage:

import glob
import sys
sys.path.append(glob.glob('pylocal/lib/python*/site-packages')[0])

from com.google.webp import libwebp
print "libwebp decoder version: %x" % libwebp.WebPGetDecoderVersion()

print "libwebp attributes:"
for attr in dir(libwebp): print attr