Android计算裁剪的图像坐标

时间:2019-09-27 09:39:37

标签: java android image image-processing kotlin

裁剪图像的最佳方法是什么?

(从原始坐标接收新的图像坐标)与预定义的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)
        }
    }

0 个答案:

没有答案