zoukankan      html  css  js  c++  java
  • (1)android底层如何使用上层传递的bitmap对象

    1. #include <android/bitmap.h> 申明了与Bitmap和像素操作相关的三个函数:

    文件位置:./frameworks/native/include/android/bitmap.h
    (1)int AndroidBitmap_getInfo(JNIEnv* env, jobject jbitmap,AndroidBitmapInfo* info);

    把上层传递的Bitmap对象转化为native的结构体信息AndroidBitmapInfo

    (2)int AndroidBitmap_lockPixels(JNIEnv* env, jobject jbitmap, void** addrPtr);

    锁定上层传递的Bitmap对象的像素在内存中的地址,确保在解锁定之前,该内存不会有任何变化。

    (3)int AndroidBitmap_unlockPixels(JNIEnv* env, jobject jbitmap);

    像素操作完毕后调用

    2. bitmap.cpp 实现这三个函数的地方,实现使用了skia库,生成一个库文件,上层使用着三个函数需要引用这个库文件。

    文件位置:

    ./frameworks/base/native/graphics/jni/bitmap.cpp

    ./frameworks/base/native/graphics/jni/Android.mk

    生成

    LOCAL_MODULE:= libjnigraphics

    include $(BUILD_SHARED_LIBRARY)

  • 相关阅读:
    Java SE——线程介绍
    Vue
    Spring asm
    spring 自定义标签的实现
    Spring InitializingBean 接口以及Aware接口实现的原理
    值传递与引用传递
    redis学习
    ssm多数据源配置
    redis 启动
    json的设置
  • 原文地址:https://www.cnblogs.com/fordreamxin/p/4558422.html
Copyright © 2011-2022 走看看