我有一个旧库,使用 PixelXorXfermode类(class)。但它在 API 17 中已弃用,并从 API 24 中删除。
paint.setXfermode(new PixelXorXfermode(-1));
我试图查看它的 source code并看到它调用 native 方法。
private static native long nativeCreate(int opColor);
这个类(class)有其他选择吗?或者有什么办法可以移植吗?
最佳答案
我找到了一个很好的教程here通过大量示例解释了如何使用 ColorFilters。 "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
});
}
关于java - Android PixelXorXfermode 已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40561829/