我有一个使用PixelXorXfermode类的旧库。但它在 API 17 中已被弃用,并从 API 24 中删除。
paint.setXfermode(new PixelXorXfermode(-1));
我试图查看它的源代码并看到它调用了本机方法。
private static native long nativeCreate(int opColor);
这门课有其他选择吗?或者有什么办法可以移植吗?
我有一个使用PixelXorXfermode类的旧库。但它在 API 17 中已被弃用,并从 API 24 中删除。
paint.setXfermode(new PixelXorXfermode(-1));
我试图查看它的源代码并看到它调用了本机方法。
private static native long nativeCreate(int opColor);
这门课有其他选择吗?或者有什么办法可以移植吗?
我在这里找到了一个很好的教程,它通过大量示例解释了如何使用 ColorFilters。“反转”示例似乎完成了与 PixelXorXfermode 相同的事情。
public Bitmap getBitmap(Bitmap original)
{
Bitmap bitmap = Bitmap.createBitmap(original.getWidth(),
original.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setColorFilter(new ColorMatrixColorFilter(getColorMatrix()));
canvas.drawBitmap(original, 0, 0, paint);
return bitmap;
}
private ColorMatrix getColorMatrix() {
return new ColorMatrix(new float[] {
-1, 0, 0, 0, 255,
0, -1, 0, 0, 255,
0, 0, -1, 0, 255,
0, 0, 0, 1, 0
});
}