【发布时间】:2023-04-10 17:57:01
【问题描述】:
我有一个从 java 代码创建的位图,并从本机代码更新像素。我只是想知道我们是否可以从本机代码中调用 invalidate。
我的代码如下。
C 代码:
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);
【问题讨论】:
-
您不想从 C 中回调 Java 代码来这样做吗?应该不是问题。
标签: android bitmap java-native-interface android-ndk