需要帮助,我被困在如何将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完全不兼容?
1条答案
按热度按时间e0bqpujr1#
确保添加的是最新版本
使用此代码
x一个一个一个一个x一个一个二个x