Как я могу вырезать круг из разных форм растрового изображения в андроиде.Как вырезать круг из разных форм растрового изображения в android
Я попробовал этот код, но некоторые изображения растянуты:
public Bitmap getRoundedShape(Bitmap scaleBitmapImage) {
int targetWidth = 240;
int targetHeight = 200;
Bitmap targetBitmap = Bitmap.createBitmap(targetWidth,
targetHeight,Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(targetBitmap);
Path path = new Path();
path.addCircle(((float) targetWidth - 1)/2,
((float) targetHeight - 1)/2,
(Math.min(((float) targetWidth),
((float) targetHeight))/2),
Path.Direction.CCW);
canvas.clipPath(path);
Bitmap sourceBitmap = scaleBitmapImage;
canvas.drawBitmap(sourceBitmap,new Rect(0, 0, sourceBitmap.getWidth(),
sourceBitmap.getHeight()),
new Rect(0, 0, targetWidth, targetHeight), null);
return targetBitmap;
}
Это значение радиуса окружности вы хотите создать. Как вы знаете, это должно быть половина мин (ширина, высота). В вашей ситуации 100 будут в порядке. Пожалуйста, попробуйте и дайте мне знать. –
Вы правы. Я отредактировал свой ответ. Измените эту строку: «RectF rect = new RectF (0, 0, радиус * 2, радиус * 2);». Параметры должны быть «(0, 0, радиус, радиус)». Это нормально? –
он не делает его круг своим эффектом только в одном углу –