mozJpeg(libjpegturbo)中TJExample的异常

想要用 libjpegturbo 的 java 版本压缩图片试试,因为据说比 thumbnail 好用,不过在给图片压缩的时候遇到异常了.

系统是 mac Os X , 跑代码用的 idea

前置工作

已经安装了 libjpegturbo

  • TJExample 的 vm 选项已经加了 -Djava.library.path=/opt/libjpeg-turbo/lib
    然后静态代码块也写了 System.load("/opt/libjpeg-turbo/lib/libturbojpeg.dylib");

用的是 TJExample 这个类 , 参数是


"路径/图片.png","路径/图片2.jpg","-q", "80"

我只用了一个-q 调质量

结果是


Input Image:  863 x 1465 pixels
Output Image (jpg):  863 x 1465 pixels, 4:4:4 subsampling, quality = 80
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.libjpegturbo.turbojpeg.TJCompressor.compress([BIIIIII[BIII)I
    at org.libjpegturbo.turbojpeg.TJCompressor.compress(Native Method)
    at org.libjpegturbo.turbojpeg.TJCompressor.compress(TJCompressor.java:351)
    at org.libjpegturbo.turbojpeg.TJCompressor.compress(TJCompressor.java:390)
    at TJExample.tjExample_main_method(TJExample.java:457)
    at TJExample.main(TJExample.java:209)