我的应用程序需要以无损格式保存大图像。我愿意牺牲一些磁盘空间来节省速度,我宁愿以一些标准格式保存而不是自己动手。
我发现内置的.PNG编码器对我的需求来说相当慢,有时需要大约5秒才能保存1000x1000的图像。我发现通过将原始像素值保存到磁盘(即无压缩)并通过使用调整的压缩设置保存使用Java的deflate类压缩的原始像素值,我可以更快地保存图像。不幸的是,我无法改变Android的PNG压缩级别。
我有哪些选择?
我准备使用NDK,但我对使用尚未在Android上经过良好测试的外部库非常谨慎。例如,libtiff将成为一个候选者,但我找不到任何关于在NDK中使用它的信息以及它的稳定性。
答案 0 :(得分:0)
只是把它扔到那里,但最新版本的OpenCV 2.2带有一个到Android的NDK端口。这包括几个图像库,包括libpng和libtiff。
我没有通过JNI接口或稳定性亲自测试过它们的使用情况,但至少它使用NDK很容易为Android编译。