Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

Java PNG Writer

JDeli Java画像ライブラリには、JavaでPNGファイルを書き込むためのPNG Writerが含まれています。PNGエンコーダーは100% Javaで記述されており、依存関係なしでPNGサポートを提供します。

主な特徴:

  • 100% Javaソリューション。dllやネイティブコードへの依存なし
  • 比較的高速な圧縮
  • PngQuantization: カラーをインデックス化することでPNGファイルのサイズを縮小する8ビット圧縮をサポート

クイックスタート、またはImageIOを使用した既存コードの置き換え:

JDeli.write(myBufferedImage, "png", outputStreamOrFile);

または

byte[] outputData = JDeli.write(myBufferedImage, "png");

クイックでシンプルな使い方のための新しいメソッド

JDeli.write(myBufferedImage, OutputFormat.PNG, outputStreamOrFile)

OutputFormat を使用すると、サポートされている任意の画像フォーマットを設定できます

出力を完全に制御する場合:

final PngEncoderOptions options = new PngEncoderOptions();

//optionsインスタンスに任意のオプションを設定 - 以下に例を示します
options.setCompressionFormat(PngCompressionFormat.QUANTISED8BIT);
options.setCompressionFormat(PngCompressionFormat.NONE);

//書き出し
JDeli.write(myBufferedImage, options, outputStreamOrFile);

PngEncoderOptions を使用すると、特定のオプションを設定できます。

画像に対してさまざまな画像処理操作を実行できます。詳細なドキュメントはこちら をご覧ください。

パフォーマンス比較:

これらの数値は、標準的な画像セット(同様にドキュメント化されています)を使用してjmh(ブログで説明 )で生成されました。検証したい場合は、簡単に再現できるはずです。コードはGitHub で公開されています。

数値が高いほど優れています。

モード: スループット カウント: 25 単位: ops/s

ベンチマークスコアエラー
Apache8.152± 0.235
ImageIO10.993± 0.544
JDeli_quantised2.938± 0.370
JDeli_fast32.083± 2.395
JDeli_compressed5.229± 0.636
JDeli_uncompressed33.386± 1.962
出力ファイル平均ファイルサイズ
リファレンスファイル179.8KB
Apache185KB
ImageIO189KB
JDeli_compressed183.4KB
JDeli_fast189.2KB
JDeli_quantised63.8KB
JDeli_uncompressed189.2KB

JDK 18.0.1.1を使用した2020年製13インチM1 MacBook Proでテスト