I need to save a Bitmap
with a polygonal mask. I tried this question, but there the image is drawn instead of being saved. I think it would be something like this:
//Creates Bitmaps
BitmapFactory.Options options = new BitmapFactory.Options();
Bitmap original = BitmapFactory.decodeFile(path, options);
Bitmap result = Bitmap.createBitmap(200, 200, Config.ARGB_8888);
//Creates the file
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "name".png");
OutputStream fOut = new FileOutputStream(file);
//Sets PorterDuff
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.FILL);;
paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));
//Sets the polygonal path
Path path = new Path();
path.moveTo(200,200);
path.lineTo(400,200);
path.lineTo(400,400);
path.lineTo(200,400);
path.close();
//Saves the image. The problem is here: how can one define result to be the cropping of the image with the path?
result.compress(Bitmap.CompressFormat.PNG, 100, fOut);
fOut.flush();
if (fOut != null) {
fOut.close();
}
//
So, how should I proceed? how can one define result
to be the cropping of the image with the path?