android用c数组创建bitmap,从C ++创建一个android.graphics.Bitmap

小编典典

我的代码中有此内容,因此我可以给您答案。

1)获取createBitmap的静态方法ID(int宽度,int高度,Bitmap.Config配置):

jclass java_bitmap_class = (jclass)env.FindClass("android/graphics/Bitmap");

jmethodID mid = env.GetStaticMethodID(java_bitmap_class, "createBitmap", "(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;");

注意Bitmap.Config的签名,其中带有$符号。

2)使用给定值为Bitmap.Config创建枚举:

const wchar_t config_name[] = L"ARGB_8888";

jstring j_config_name = env.NewString((const jchar*)config_name, wcslen(config_name));

jclass bcfg_class = env.FindClass("android/graphics/Bitmap$Config");

jobject java_bitmap_config = env.CallStaticObjectMethod(bcfg_class, env.GetStaticMethodID(bcfg_class, "valueOf", "(Ljava/lang/String;)Landroid/graphics/Bitmap$Config;"), j_config_name);

在这里,我们从命名值创建Bitmap.Config枚举。另一个可能的值字符串是“ RGB_565”。

3)调用createBitmap:

java_bitmap = env.CallStaticObjectMethod(java_bitmap_class, mid, w, h, java_bitmap_config);

2020-11-13

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值