Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ColorMatrixColorFilter不适用于alpha android_Android_Bitmap_Alpha_Colormatrix_Colormatrixfilter - Fatal编程技术网

ColorMatrixColorFilter不适用于alpha android

ColorMatrixColorFilter不适用于alpha android,android,bitmap,alpha,colormatrix,colormatrixfilter,Android,Bitmap,Alpha,Colormatrix,Colormatrixfilter,我正在尝试存储带有Alpha值的位图以及RGB所有颜色和阴影应用,除了ColorMatrix中值>1.0的Alpha效果 下面是我的代码 Bitmap bm = BitmapFactory.decodeFile(imagePath).copy(Config.ARGB_8888, true); final Bitmap b = Bitmap.createBitmap(bm.getWidth(), bm.getHeight(), Bitmap.Config.ARGB

我正在尝试存储带有Alpha值的位图以及RGB所有颜色和阴影应用,除了ColorMatrix中值>1.0的Alpha效果

下面是我的代码

Bitmap bm = BitmapFactory.decodeFile(imagePath).copy(Config.ARGB_8888, true);

    final Bitmap b = Bitmap.createBitmap(bm.getWidth(), bm.getHeight(),
            Bitmap.Config.ARGB_8888);
    b.eraseColor(Color.argb(0, 0, 0, 0));
    final Canvas c = new Canvas(b);

    float redValue = ((float) red) / 255;
    float greenValue = ((float) green) / 255;
    float blueValue = ((float) blue) / 255;
    float alphaValue = ((float) alpha) / 255;

    ColorMatrix cm = new ColorMatrix();

    cm.set(new float[] { redValue, 0, 0, 0,0,
            0, greenValue, 0, 0, 0,
            0, 0, blueValue, 0, 0,
            0, 0, 0, alphaValue, 0 });

    Log.e("cm","cm::"+cm.toString());

    Paint p = new Paint();

    p.setColorFilter(new ColorMatrixColorFilter(cm));
    c.drawBitmap(bm, 0, 0, p);

return b;
谢谢你的建议/帮助