是否可以在 Android 上使用 stbi_load?

Is it possible to use stbi_load on Android?

我是 openGLES 的新手,我只想打开一张图像稍后为我的纹理服务。

由于网上大部分的openGL教程都是基于笔记本电脑开发的,所以他们只是像这样打开图片:unsigned char *data = stbi_load("pic.jpg", &width, &height, &nrChannels, 0);然后把图片放在同一个文件夹下。但是我后来意识到为 Android 设置一个正确的路径并不是那么简单。如果我把图片和我的 cpp 文件放在同一个文件夹下,在运行时将找不到它,因为应用程序现在在真实的 phone.

所以问题是,是否可以在 Android 上使用 stbi_load?还是我应该另辟蹊径?顺便说一句,我必须使用 JNI 并使用 CPP 编写 opengl 逻辑。

我自己弄清楚以防有人遇到同样的问题。注意 android 你需要从 Sdcard 中读取而不是从 drawable 中读取。记得授予权限。