如何使用NDK在C语言中将ARGB像素数组编码为JPEG(jpg)文件,但不使用任何Java API包装器的调用? 我看到有一个名为libjpeg的库调用,但是我找不到任何关于如何在NDK中使用它的教程。还有其他选择吗?
如何使用NDK在C语言中将ARGB像素数组编码为JPEG(jpg)文件,但不使用任何Java API包装器的调用? 我看到有一个名为libjpeg的库调用,但是我找不到任何关于如何在NDK中使用它的教程。还有其他选择吗?
这里为您提供教程,请查看http://www.usefullcode.net/2011/01/android_ndklibjpeg.html,在Google Chrome或其他支持Google翻译的浏览器中打开链接。
除了JNI调用之外,至少有两个选项:
1)直接使用libjpeg
。源代码可以在此处下载:http://www.ijg.org 源代码非常适合NDK,并且您只需要为项目创建Android.mk/Application.mk
即可。但是,libjpeg
的API相当复杂。
2)使用包装器图像库。我建议使用FreeImage
:http://freeimage.sourceforge.net 它具有非常干净的API,可以轻松地编译为Android(无需自动配置),并且具有生产质量(用于Unity3D引擎)。作为额外的奖励,您将能够读取和写入许多其他图像格式,除了JPEG。实际上它包含libjpeg
,但提供更清晰的API。