Android вычисляет координаты обрезанного изображения - PullRequest
0 голосов
/ 27 сентября 2019

Как лучше всего обрезать изображение?

(получить новые координаты изображения из исходного) с предопределенным ViewPort?Использовать масштабирование по центру Как рассчитать, например, новую ширину и высоту на основе ViewPort 16: 9?

Как мы можем применить область просмотра и получить размер, а затем отцентрировать его следующим образом:

val fistXCoordinate = (originalWidth - newWidth) / 2

fun getCropParameters(image: File): List<CropParameter> {

        val decodedFile = BitmapFactory.decodeFile(image.absolutePath)

        // calc


        return listOf(
                CropParameter(CropParameter.ViewPort.CROP_16_9, 0, 0, 0, 0),
                CropParameter(CropParameter.ViewPort.CROP_9_16, 0, 0, 0, 0),
                CropParameter(CropParameter.ViewPort.CROP_4_3, 0, 0, 0, 0))
    }


    data class CropParameter(val viewPort: ViewPort, val left: Int, val right: Int, val top: Int, val bottom: Int) {

        enum class ViewPort(val widthRatio: Float, val heightRatio: Float) {
            CROP_16_9(16F, 9F),
            CROP_9_16(9F, 16F),
            CROP_4_3(4F, 3F)
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...