android - 将 Uri 转换为位图
问题描述
我想将 Uri 从 .takePicture 方法转换为位图以供以后使用,我搜索了不同的方法,但每个方法都给了我一个错误,说位图为空,有时“int android.graphics.bitmap.getwidth()”打开一个空对象引用”。
var imageUri:Uri?=null
private fun takePhoto() {
val photofile = File(externalMediaDirs.firstOrNull(), "picture - ${System.currentTimeMillis()}.jpg")
val output = ImageCapture.OutputFileOptions.Builder(photofile).build()
var image_View = findViewById<ImageView>(R.id.imageView)
imageCapture?.takePicture(output, ContextCompat.getMainExecutor(this), object : ImageCapture.OnImageSavedCallback {
override fun onImageSaved(outputFileResults: ImageCapture.OutputFileResults) {
Toast.makeText(applicationContext, "Pic saved.", Toast.LENGTH_LONG).show()
imageUri = outputFileResults.savedUri
//image_View.setImageURI(imageUri)
}
override fun onError(exception: ImageCaptureException) {
Toast.makeText(applicationContext, "Error saving pic!", Toast.LENGTH_LONG).show()
}
})
}
解决方案
试试这个片段
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);
推荐阅读
- deep-learning - 我正在实现一个 GAN 网络,但我对如何将它们组合成一个实体感到困惑?
- square-connect - 是否可以使用 Square 将应用开发者帐户的客户与商家帐户共享
- excel - 在 Excel 中创建具有 3 个标准的随机组
- encoding - 01 代表 1 和 10 代表 0 的二进制编码的名称是什么
- javascript - 支持高分辨率显示,同时允许缩放
- qt - QT QTableWidget,如何在项目不可编辑时选择文本
- c++ - 在 C++ 中使用字符串成员作为索引更新自定义结构的最佳方法
- android - 不显示视频,只有在 react-native-video 中播放真正的 android 设备时才会发出声音
- elasticsearch - Elasticsearch:在将 ES 从 5.6.16 迁移到 6.8 期间,upserts 不再支持版本问题
- azure - 我可以增加每个 Azure EventGrid 域的主题配额吗?