您可以为此目的使用颜色矩阵,例如否定图像的代码如下;
public Bitmap negative(Bitmap bitmap)
{
float[] negative_colour_matrix={-1, 0, 0, 0,255,
0,-1, 0, 0,255,
0, 0,-1, 0,255,
0, 0, 0,1,0};
ColorMatrix colorMatrix=new ColorMatrix(negative_colour_matrix);
return get_bitmap_from_color_matrix(colorMatrix,bitmap);
}
public Bitmap get_bitmap_from_color_matrix(ColorMatrix colorMatrix,Bitmap bitmap)
{
Bitmap ret=Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(),bitmap.getConfig());
Canvas canvas=new Canvas(ret);
Paint paint=new Paint();
paint.setColorFilter(new ColorMatrixColorFilter(colorMatrix));
canvas.drawBitmap(bitmap,0,0,paint);
return ret;
}
它会给出负像;