'如何在安卓中布局转换为方形图像



我试图成功地将布局转换为方形图像,但我发现的方形图像太糟糕了。

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
}

这是我的布局

在这里我发现了正方形的图像,但不是完美的

我想把布局从图像转换成正方形。

如果我正确理解您的问题,我建议您先将方框更改为正方形,然后再将布局捕获为图像。这样,其余的东西就不会像那样失真,而且你不必担心在拍摄后调整图像的大小。

最新更新