Untitled

 avatar
user_0851248
plain_text
a year ago
888 B
6
Indexable
fun Bitmap.cropImage(frame: View, cropRect: RectF): ByteArray {
    val heightOriginal = frame.height
    val widthOriginal = frame.width
    val heightCrop = cropRect.height()
    val widthCrop = cropRect.width()
    val leftCrop = cropRect.left
    val topCrop = cropRect.top
    val heightReal = height
    val widthReal = width
    val widthFinal = (widthCrop * widthReal) / widthOriginal
    val heightFinal = (heightCrop * heightReal) / heightOriginal
    val leftFinal = (leftCrop * widthReal) / widthOriginal
    val topFinal = (topCrop * heightReal) / heightOriginal

    val bitmapFinal = Bitmap.createBitmap(
        this, leftFinal.toInt(), topFinal.toInt(), widthFinal.toInt(), heightFinal.toInt()
    )

    val stream = ByteArrayOutputStream()
    bitmapFinal.compress(
        Bitmap.CompressFormat.JPEG,
        100,
        stream
    )
    return stream.toByteArray()
}
Editor is loading...
Leave a Comment