Android - schneiden Sie ein Bild von multipoints

Ich abschneiden müssen, um eine Bitmap handelt, sondern dass eine rechteckigen beschnittene Bild (das schaffte ich erfolgreich zu tun), ich brauche es jede form, die durch Koordinaten definiert.

Ich bin nach der Antwort aus diesem thread: Schneiden einer multipoint-ploygon aus Bitmap und legen Sie Sie auf Transparenz , und versucht es zu implementieren, aber leider ist es nicht beschneiden Sie das Bild.

Habe ich wie in der Beschreibung, aber es scheint, gibt es einen bug irgendwo. Das Bild ist gezeichnet, die in Rechteckiger Weise.
Bin ich etwas fehlt?

Bitmap originalBitmap=BitmapFactory.decodeResource(getResources(), R.drawable.test_image);
//Image cropped
Bitmap croppedBitmap=Bitmap.createBitmap(originalBitmap, 10, 10, 200, 200);
Canvas canvas=new Canvas(croppedBitmap);

//Create a path
Path path=new Path();
path.setFillType(FillType.INVERSE_EVEN_ODD);
path.moveTo(0, 0);
path.moveTo(0, 100);
path.moveTo(100, 0);
path.moveTo(0, 0);

//Paint with Xfermode
Paint paint=new Paint();
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));

//Draw the path
canvas.drawPath(path, paint);

imageView.setImageBitmap(croppedBitmap);
  • Beachten Sie, dass das Bild IMMER rechteckig sein. Ein Bild kann nicht etwas anderes sein als ein Rechteck. Deshalb ist die beste Sie tun können, ist schneiden Sie ein polygon aus, und platzieren Sie es auf einem transparenten hintergrund.
  • Ich sehe. Könnten Sie bitte geben Sie einige Anweisungen, wie ich gehen würde, über das schneiden eines Polygons? Eigentlich ist das, was ich versuche zu tun, im obigen code.
InformationsquelleAutor Andy Res | 2012-07-20
Schreibe einen Kommentar