Sto tentando di ritagliare un'immagine e quindi arrotondare gli angoli in modo che appaia più gradevolmente sullo schermo.ImageView con angoli arrotondati dopo il ridimensionamento con ScaleType.CenterCrop
Ciò che sono stato in grado di fare è arrotondare gli angoli dell'immagine, ma il taglio a volte taglierà i lati dell'immagine (a seconda delle dimensioni/proporzioni dell'immagine).
Quindi quello che mi piacerebbe fare è eseguire il ritaglio, POI applicare gli angoli arrotondati. Come posso fare questo?
A completare gli angoli dell'immagine:
private Bitmap getRoundedCornerBitmap(Bitmap bitmap) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff000000;
final Paint paint = new Paint();
final Rect rect = new Rect(0,0,bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect);
final float roundpx = 20;
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawRoundRect(rectF, roundpx, roundpx, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}
E poi ho impostato scaletype del imageview in questo modo: imageView.setScaleType(ScaleType.CENTER_CROP)
Hai trovato una soluzione? – enl8enmentnow