libjpeg-turbo-java编码jpeg

libjpeg-turbo-java编码jpeg,java,libjpeg-turbo,turbojpeg,Java,Libjpeg Turbo,Turbojpeg,我在mac上安装了libjpegturbo,并将jar和libs添加到我的eclipse项目中。我正在尝试从我的BuffereImage创建jpeg字节[]: TJCompressor tj = new TJCompressor(); tj.compress(image, TJ.PF_BGR); 我得到的错误是:java.lang.Exception:tjBufSize():参数无效 我使用一个自定义机器人创建类型为_3BYTE_BGR的BuffereImage。我可以使用ImageIO创建一

我在mac上安装了libjpegturbo,并将jar和libs添加到我的eclipse项目中。我正在尝试从我的BuffereImage创建jpeg字节[]:

TJCompressor tj = new TJCompressor();
tj.compress(image, TJ.PF_BGR);
我得到的错误是:java.lang.Exception:tjBufSize():参数无效

我使用一个自定义机器人创建类型为_3BYTE_BGR的BuffereImage。我可以使用ImageIO创建一个字节[],但速度太慢了


我试图找到一些关于java包装器的教程,但是我没有找到任何从BuffereImage编码jpeg的教程。如果有人能帮助我,我将不胜感激。

您似乎在方法中输入了错误类型的参数。当您应该从
TJ
类中传递零个或多个标志(前缀为“FLAG_”)时,您正在以像素格式传递。像素格式类型将由
TJCompressor
对象自动检测

在使用
TJCompressor
之前,请确保将色度子采样级别和JPEG质量设置为所需级别

示例代码:

TJCompressor tj = new TJCompressor();
tj.setJPEGQuality(75);
tj.setSubsamp(TJ.SAMP_420);
byte[] jpegBytes = tj.compress(image, 0);