2017-01-05 3 views
3

Я пытаюсь вырезать кусочек головоломки из изображения, создавая новое изображение Bitmap. Для этого я использую объект Path. Это текущий результат.Вырезанная область из растрового изображения с путём

enter image description here

И как я achived этот

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.

+0

Как предложено Stefaan, проблема возникла из изображения jpg, которое я использовал. Кажется, у него черный фон. Исправлено изображение png с прозрачным фоном. – dumazy

ответ

1

Я пробовал его с использованием PNG-файла с прозрачностью, а фон прозрачен вместо черного.

Смежные вопросы