Android NDK 和动态壁纸渲染

标签 android bitmap android-ndk

我只是四处寻找开始学习 NDK 的机会,并考虑到一个特定的项目:

我想从 NDK 端不断渲染变化的位图,以便能够在动态壁纸中显示它。

(因此我在这里不是在谈论渲染到 OpenGL 纹理,而是在谈论渲染到位图)

我用谷歌搜索了一下,发现有一个选项可以直接操作位图像素。但我还发现文档说此功能仅在 Android 2.2 之后可用。 我想在我的动态壁纸中支持 2.1。

另一方面,我发现了几个做类似事情的项目——从 ndk 渲染一些东西并在动态壁纸中显示它。他们在 2.1 上工作。例如:精彩 Video Live Wallpaper ,我认为 Shake Them All Live Wallpaper做同样的事情。

所以问题是 - 除了直接操作位图数据之外,我是否缺少其他方法来对 LW 进行连续渲染? 还是我做错了什么? :)

最佳答案

据我所知,其他使用 NDK 进行渲染并使用 2.2 之前的 jnigraphics 的项目实际上在项目中包含该库并将其作为第 3 方库加载。

有关如何执行此操作的更多信息,请参阅 android-ndk-r5b/docs/ANDROID-MK.html 中的 PREBUILT_SHARED_LIBRARY 的描述。

您可以在以下位置找到 jnigraphics:

android-ndk-r5b/platforms/android-8/arch-arm/usr/lib/libjnigraphics.so

当然,我不知道是否真的允许重新分发部分 NDK(也许其他人可以权衡一下),但显然在 Android 之前使用 jnigraphics 是唯一的障碍2.2 只是因为它不存在于早期版本中。

希望对您有所帮助。

关于Android NDK 和动态壁纸渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4833572/

相关文章:

android - 在可绘制图层列表中调整位图大小

c++ - 如何从 MediaCodec 输出缓冲区获取 pcm 数据缓冲区?

android - 解决 QString 移动错误

java - 将多个 Android Activity 的数据保存到一个 Firebase 数据库

android - 无法解析 : firebase-database-15. 0.0

javascript - Phonegap 互操作能力

java - 从 Android 位图以 HTML 显示 Base64 图像

android - 从 Adapter 外部修改 ExpandableListView 中的子元素(颜色)

java - Android:如何获取单 channel 16位PNG位图的像素

android - 如何使用 valgrind 启动一个安卓应用程序