Kotlin 实现图片裁剪

    /**
     * 图片裁剪
     * @param originalImage 原始图像
     * @param startX 裁剪区域的起始 x 坐标
     * @param startY 裁剪区域的起始 y 坐标
     * @param endX 裁剪区域的结束 x 坐标
     * @param endY 裁剪区域的结束 y 坐标
     *
     */
    fun cropImage(originalImage: BufferedImage, startX: Int, startY: Int, endX: Int, endY: Int): BufferedImage {
        // 边界检查并修正
        val correctedStartX = startX.coerceIn(0, originalImage.width - 1)
        val correctedStartY = startY.coerceIn(0, originalImage.height - 1)
        val correctedEndX = endX.coerceIn(0, originalImage.width)
        val correctedEndY = endY.coerceIn(0, originalImage.height)

        // 计算裁剪区域的宽度和高度
        val width = correctedEndX - correctedStartX
        val height = correctedEndY - correctedStartY

        // 创建裁剪区域对象
        val cropRect = Rectangle(correctedStartX, correctedStartY, width, height)

        // 使用 BufferedImage 的 getSubimage 方法裁剪图像
        val croppedImage = originalImage.getSubimage(cropRect.x, cropRect.y, cropRect.width, cropRect.height)

        return croppedImage
    }

你可能感兴趣的:(kotlin,开发语言,android)