2011-02-28 8 views
2

私のアプリケーションはロスレスフォーマットで大きな画像を保存する必要があります。私は節約のスピードのためにいくつかのディスクスペースを犠牲にして喜んで、私は自分のものを転がすのではなく、標準化されたフォーマットで保存したいと思っています。Androidでロスレス画像を保存するためのその他のオプションはありますか?

内蔵の.PNGエンコーダが私のニーズにかなり遅く、時には1000x1000の画像を保存するのに約5秒かかることがあります。生のピクセル値をディスクに保存する(つまり圧縮を行わない)ことで、微調整された圧縮設定でJavaの圧縮クラスで圧縮された生のピクセル値を保存することで、画像をより迅速に保存できます。残念ながら、私が知っているAndroidのPNG圧縮レベルを変更するオプションはありません。

どのようなオプションがありますか?

私はNDKを使用する準備ができていますが、私はAndroid上で十分にテストされていない外部ライブラリを使用することには慎重です。例えば、libtiffは候補になりますが、NDKでこれを動作させる方法とそれがどれくらい安定しているかについての情報は見つかりません。

+1

Androidが実行できるかどうかわかりませんが、圧縮せずにPNGファイルを保存できるはずです。これはおそらくあなたの要件を満たすでしょう。 –

+0

PNGファイル書き込みAPIはごくわずかです。私が見る限り、圧縮設定はありません。 – rbcc

答えて

0

OpenCV 2.2の最新バージョンには、AndroidにNDKポートが付属しています。これには、libpngやlibtiffなどのいくつかのイメージライブラリが含まれます。

私は個人的にJNIインターフェイスまたは安定性を介してそれらの使用をテストしていませんが、少なくともNDKを使用してAndroid用に簡単にコンパイルします。

関連する問題