正如@hackbod提到
BitmapRegionDeprer的基于外部
skia库。但这可能是一个好处。
让我们检查原始来源:
BitmapRegionDeprer.java
。通常围绕本机方法定义包装器:private static native Bitmap nativeDepreRegion(int lbm,int start_x, int start_y, int width, int height,BitmapFactory.Options options);
private static native int nativeGetWidth(int lbm);
private static native int nativeGetHeight(int lbm);
private static native void nativeClean(int lbm);
// …multiply nativeNewInstance overloads follow
类不使用我们需要反向移植的任何新Java API。
BitmapRegionDeprer.cpp
。它包含的头文件由Froyo
以下两个文件中的文件组成:AutoDepreCancel.h
。它用于的唯一行:AutoDeprerCancel adc(options, deprer);
此类处理
SkDeprer实例生命周期。这是一小段代码,可能会向后移植。
* `SkBitmapRegionDeprer.h`
如文件名所示,这是一个核心组件。实际上,以前所有的东西都是围绕它的包装。好消息是,由于它是外部的并且不包含任何新的依赖项,因此我们可能不需要向后移植它,因为应该可以从中获取整个
skia库并在
Gingerbeard其下进行编译
Froyo。
PS:我实际上并没有深入研究代码,因此如果我忽略了任何内容,请纠正我。
更新:
我们需要的源代码位于分支机构
froyo-release和上的以下存储库中
gingerbread-mr4-release:
- 外部Skia库存储库
- 头文件在
include/core
和include/images
- 头文件在
- Android框架基础
- Java代码:
graphics/java/android/graphics/BitmapRegionDeprer.java
- 本机代码:
core/jni/android/graphics/...
- Java代码:



