Есть хорошо написанные библиотеки, так что вы можете обрезать изображение по любому желаемому пути, но вот код:
private Bitmap clip(Bitmap bitmap) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap
.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final Paint paint = new Paint();
paint.setAntiAlias(true);
// creating a closing path with 3 rounded corners
Path path = new Path();
float radius = 48;
float diameter = radius * 2;
float width = bitmap.getWidth();
float height = bitmap.getHeight();
path.addArc(0, 0, diameter, diameter, 180, 90);
path.lineTo(width - radius, 0);
path.arcTo(width - diameter, 0, width, diameter, 270, 90, false);
path.lineTo(width, height);
path.lineTo(radius, height);
path.arcTo(0, height - diameter, diameter, height, 90, 90, false);
path.close();
paint.setShader(new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP));
canvas.drawPath(path, paint);
return output;
}