android 如何在Java上使用CanHub图像裁剪器的最新版本

5tmbdcev  于 2022-12-16  发布在  Android
关注(0)|答案(1)|浏览(127)

需要帮助,我被困在如何将Kotlin函数从CanHub图像裁剪器转换为Java。它包括两个代码,活动结果和调用方法
对于活动结果,原始的Kotlin代码如下所示:

private val cropImage = registerForActivityResult(CropImageContract()) { result ->
    if (result.isSuccessful) {
        // use the returned uri
        val uriContent = result.uriContent
        val bitmap = MediaStore.Images.Media.getBitmap(myActivity.contentResolver, uriContent)

        imageView.setImageBitmap(bitmap)

    } else {
        // an error occurred
        val exception = result.error
    }
}

这就是Kotlin中的调用方法

cropImage.launch(
    options {
        setImageSource(
            includeGallery = true,
            includeCamera = true
        )
        setAspectRatio(150,150)
        setGuidelines(CropImageView.Guidelines.ON)
        setOutputCompressFormat(Bitmap.CompressFormat.JPEG)
        setOutputCompressQuality(85)
    }
)

我尝试将代码转换为Java,因为我的项目现在是Java,旧库与Android 11不兼容
下面是我的活动结果转换成java,我不知道它是否正确,但至少它没有错误:

ActivityResultLauncher<CropImageContractOptions> cropImage = registerForActivityResult(
        new CropImageContract(),
        result -> {
            Uri uriContent = result.getUriContent();
            Bitmap bitmap = null;
            try {
                bitmap = MediaStore.Images.Media.getBitmap(myActivity.getContentResolver(), uriContent);
            } catch (IOException e) {
                e.printStackTrace();
            }

            imageView.setImageBitmap(bitmap);
        });

但我被调用方法卡住了

CropImageContractOptions cropImageContractOptions = ? /* <-- what to put here?? */
cropImage.launch(cropImageContractOptions);

我尝试使用选项,但它只是错误未解析变量
我来看看这个:How to croping image with source just from camera with Canhub Android Image Cropper with Java
但由于某种原因,它甚至对我根本不起作用
CanHub图像裁剪器是否与Java完全不兼容?

e0bqpujr

e0bqpujr1#

确保添加的是最新版本

dependencies {
    implementation "com.vanniktech:android-image-cropper:4.5.0"
}

使用此代码
x一个一个一个一个x一个一个二个x

相关问题