0

Macにlibjpeg-turboをインストールし、eclipseプロジェクトにjarとlibsを追加しました。バッファリングされた画像からjpegbyte[]を作成しようとしています:

TJCompressor tj = new TJCompressor();
tj.compress(image, TJ.PF_BGR);

私が得るエラーは次のとおりです:java.lang.Exception:tjBufSize():無効な引数

カスタムロボットを使用して、タイプTYPE_3BYTE_BGRのバッファリングされたイメージを作成します。ImageIOを使用してbyte[]を作成できますが、速度が遅くなります。

Javaラッパーでいくつかのチュートリアルを見つけようとしましたが、bufferedimageからjpegをエンコードするチュートリアルは見つかりませんでした。誰かが私を助けてくれたらとてもありがたいです。

4

1 に答える 1

0

メソッドに間違ったタイプの引数を渡しているようです。クラスから 0 個以上のフラグを渡す必要がある場合に、ピクセル形式で渡していますTJ(「FLAG_」で始まる)。ピクセル形式のタイプは、オブジェクトによって自動的に検出されTJCompressorます。

を使用する前に、クロミナンス サブサンプリング レベルと JPEG 品質を目的のレベルに設定してくださいTJCompressor

サンプルコード:

TJCompressor tj = new TJCompressor();
tj.setJPEGQuality(75);
tj.setSubsamp(TJ.SAMP_420);
byte[] jpegBytes = tj.compress(image, 0);
于 2013-05-08T17:25:39.263 に答える