没想到会因为图片剪裁中断,以前都偷懒使用uCrop
,这次想说练习内建的剪裁,结果有够麻烦
Android 6
如果要图片剪裁,路径开头是file://
,所以要用Uri.fromFile()
把uri
转成真实路径
val intent = Intent("com.android.camera.action.CROP").apply {
this.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION or Intent.FLAG_GRANT_READ_URI_PERMISSION)
this.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
this.putExtra("crop", true)
this.putExtra("return-data", false)
this.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString())
this.putExtra("scale", true)
}
val cropPictureName = "005_crop_${System.currentTimeMillis()}.jpg"
val phoneFile = File(
Environment.getExternalStoragePublicDirectory("${Environment.DIRECTORY_PICTURES}/AndroidSystem"),
pictureName
)
val cropPhoneFile = File(
Environment.getExternalStoragePublicDirectory("${Environment.DIRECTORY_PICTURES}/AndroidSystem"),
cropPictureName
)
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
val pictureUri = Uri.fromFile(phoneFile)
val cropUri = Uri.fromFile(cropPhoneFile)
intent.setDataAndType(pictureUri, "image/*")
intent.putExtra(MediaStore.EXTRA_OUTPUT, cropUri)
Log.d("maho", "intent: $intent")
cropPictureResultLauncher.launch(intent)
return@registerForActivityResult
}
>>: Day17-238. Product of Array Except Self
昨天跟大家分享了 Cypress 有多厉害之後,大家有没有很期待呢? 这两天就让我来跟大家介绍 C...
继上一篇我们讲到向量类的建立,接着我们在这一篇文机会提到反射行为的模拟~ 反射这种行为,在反射面为铅...
前言 今日的程序码 => GITHUB 接续上一篇 【第九天 - Flutter Bloc+C...
继续昨天的进度,今天打开资讯安全中心终於有东西了 可以看到这个仪表板上密密麻麻的建议事项,当然不一定...
一般如果有在碰一些外汇交易或者加密货币交易的人就知道,这些商品在交易的时候,都是做相对价值的交易,像...