使用Path剪切带有Bitmap的区域

时间:2017-01-05 13:21:48

标签: android android-canvas android-bitmap android-paint

我正试图从图像中剪切拼图块,创建一个新的Bitmap图像。我正在使用Path对象来执行此操作。这是目前的结果。

enter image description here

我是如何实现这个

    Path path = new Path();
    // Multiple path methods to create shape of puzzle piece...
    path.close();

    Bitmap source = BitmapFactory.decodeResource(getResources(), R.drawable.flowers);
    Bitmap workingCopy = source.copy(Bitmap.Config.ARGB_8888, true);
    Canvas canvas = new Canvas(workingCopy);
    path.setFillType(Path.FillType.INVERSE_WINDING);
    Paint paint = new Paint();
    paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
    canvas.drawPath(path, paint);

    ((ImageView) findViewById(R.id.myImage)).setImageBitmap(workingCopy);

我希望我可以透明而不是黑色,并删除path范围之外的所有内容。

1 个答案:

答案 0 :(得分:1)

我尝试使用具有透明度的PNG文件,背景是透明的而不是黑色。