Android - 画布蒙版中的黑色BG颜色问题

时间:2017-06-13 07:33:09

标签: android canvas masking

我正在创建一个Android应用程序,我将使用画布中的路径裁剪位图图像。

我可以使用路径剪切位图,但它会在位图的其余部分留下黑色背景。

下面是我在画布中用路径和掩码剪切位图的代码。

public Bitmap cropBitmap(Path path){

    Bitmap maskImage = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas maskCanvas = new Canvas(maskImage);

    maskCanvas.drawColor(0, PorterDuff.Mode.CLEAR);
    Paint pathPaint = new Paint();
    pathPaint.setAntiAlias(true);
    pathPaint.setXfermode(null);
    pathPaint.setStyle(Style.FILL);
    pathPaint.setColor(Color.WHITE);
    maskCanvas.drawPath(path,pathPaint);


    Bitmap resultImg = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
    Canvas mCanvas = new Canvas(resultImg);
    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);

    mCanvas.drawBitmap(bitmap, 0, 0, null);
    paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
    mCanvas.drawBitmap(maskImage, 0, 0, paint);
    return resultImg;
}

及以下是带路径的输入图像。

enter image description here

以下是我现在得到的结果。

enter image description here

我想删除那个黑色背景部分。 黑色部分应该是透明的。 有什么方法可以删除那个黑色部分并使其透明吗?

0 个答案:

没有答案