Android 已弃用 PixelXorXfermode

Android PixelXorXfermode deprecated

我有一个使用 PixelXorXfermode class 的旧图书馆。但它在 API 17 中被弃用并从 API 24 中删除。

paint.setXfermode(new PixelXorXfermode(-1));

我试图查看它的 source code 并看到它调用了本机方法。

private static native long nativeCreate(int opColor);

这个class有什么替代方案吗?或者有什么办法移植吗?

我找到了一个很好的教程here that explains how to use ColorFilters with lots of examples. The "invert" sample 似乎完成了与 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
    });
}