Возникла проблема с отображением растрового изображения с использованием собственного кода.Мой код, как показано ниже
Собственный код
JNIEXPORT void JNICALL Java_app_Panel_renderbitmap(JNIEnv* env, jobject obj, jobject bitmap, jlong time_ms)
{
AndroidBitmapInfo info;
void* pixels;
int ret;
if ((ret = AndroidBitmap_getInfo(env, bitmap, &info)) < 0) {
return;
}
if (info.format != ANDROID_BITMAP_FORMAT_RGB_565) {
return;
}
if ((ret =AndroidBitmap_lockPixels(env, bitmap, &pixels)) < 0) {
}
memcpy(pixels, pictureRGB, 480*320);
AndroidBitmap_unlockPixels(env, bitmap);
}
Java-код
Bitmap mBitmap = Bitmap.createBitmap(480, 320, Bitmap.Config.RGB_565);
renderbitmap(mBitmap, 0);
canvas.drawBitmap(mBitmap, 0, 0, null);
И мое приложение падает на memcpy, в котором pictureRGB объявлен как int * pictureRGB[4];
Все пиксели находятся внутри изображения RGB.Что-то не так, как я?Я передаю правильные значения в bitmap и memcpy?