#android
#Android
Вопрос:
Я попытался успешно преобразовать макет в квадратное изображение, но квадратное изображение, которое я нашел, слишком плохое.
fun getBitmapFromView(view: View): Bitmap? {
val bitmap =
Bitmap.createBitmap(view.width, view.height, Bitmap.Config.ARGB_8888)
val canvas = Canvas(bitmap)
view.draw(canvas)
val newBitmap = BITMAP_RESIZER(bitmap, 1080, 1080)
return newBitmap
}
fun bitmapResizer(bitmap: Bitmap, newWidth: Int, newHeight: Int): Bitmap? {
val scaledBitmap = Bitmap.createBitmap(newWidth, newHeight, Bitmap.Config.ARGB_8888)
val ratioX = newWidth / bitmap.width.toFloat()
val ratioY = newHeight / bitmap.height.toFloat()
val middleX = newWidth / 2.0f
val middleY = newHeight / 2.0f
val scaleMatrix = Matrix()
scaleMatrix.setScale(ratioX, ratioY, middleX, middleY)
val canvas = Canvas(scaledBitmap)
canvas.setMatrix(scaleMatrix)
canvas.drawBitmap(
bitmap,
middleX - bitmap.width / 2,
middleY - bitmap.height / 2,
Paint(Paint.FILTER_BITMAP_FLAG)
)
return scaledBitmap
}
здесь я нашел квадратное изображение, но не идеальное
Я хочу преобразовать макет в изображение в квадрат.
Ответ №1:
Если я правильно понял ваш вопрос, я бы посоветовал вам сначала изменить поле на квадрат, прежде чем преобразовывать макет в изображение. Таким образом, остальной материал не будет искажен таким образом, и вам не нужно беспокоиться об изменении размера изображения после захвата.
Комментарии:
1. Да, вы все правильно поняли. это возможно без изменения поля на квадратное?
2. У вас есть доступ к макету коробки, чтобы изменить его на квадратный? Это было бы проще всего.
3. Если у вас есть пример. Итак, дайте мне, тогда я попробую.