如何获取图像的位图?
How do I get the bitmap of an image?
在我的 onActivityResult
函数中,我有以下代码行:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (requestCode == CAMERA_REQUEST_CODE) {
val foodBitmap = Objects.requireNonNull(Objects.requireNonNull(data)!!.extras)!!["data"] as Bitmap?
food_image.setImageBitmap(foodBitmap)
}
super.onActivityResult(requestCode, resultCode, data)
}
对于 foodBitmap
它的推断类型是 Bitmap
,但我需要确保它的类型是 Bitmap
对于我正在使用的另一个函数,它需要一个类型的参数 Bitmap
。我目前无法将 foodBitmap
传递给该函数,因为它期望 Bitmap
并且不认为 foodBitmap
是 Bitmap
。我该如何修复那行代码?
foodBitmap
的推断类型不是 Bitmap
,而是可空类型 Bitmap?
。因此你有三个选择:
将初始化foodBitmap
的代码更改为:
val foodBitmap = Objects.requireNonNull(Objects.requireNonNull(data)!!.extras)!!["data"] as Bitmap
在您的其他函数中将参数更改为 Bitmap?
或者
调用该函数时使用 let
函数:
foodBitmap?.let { otherFunction(it) }
你可以简单地拥有这个:-
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == CAMERA_REQUEST_CODE && data != null) {
val foodBitmap = data.extras?.get("data") as Bitmap
food_image.setImageBitmap(foodBitmap)
}
}
您将获得 foodBitmap
作为 Bitmap
,您可以直接将其传递到您的函数中。
在我的 onActivityResult
函数中,我有以下代码行:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (requestCode == CAMERA_REQUEST_CODE) {
val foodBitmap = Objects.requireNonNull(Objects.requireNonNull(data)!!.extras)!!["data"] as Bitmap?
food_image.setImageBitmap(foodBitmap)
}
super.onActivityResult(requestCode, resultCode, data)
}
对于 foodBitmap
它的推断类型是 Bitmap
,但我需要确保它的类型是 Bitmap
对于我正在使用的另一个函数,它需要一个类型的参数 Bitmap
。我目前无法将 foodBitmap
传递给该函数,因为它期望 Bitmap
并且不认为 foodBitmap
是 Bitmap
。我该如何修复那行代码?
foodBitmap
的推断类型不是 Bitmap
,而是可空类型 Bitmap?
。因此你有三个选择:
将初始化
foodBitmap
的代码更改为:val foodBitmap = Objects.requireNonNull(Objects.requireNonNull(data)!!.extras)!!["data"] as Bitmap
在您的其他函数中将参数更改为
Bitmap?
或者调用该函数时使用
let
函数:foodBitmap?.let { otherFunction(it) }
你可以简单地拥有这个:-
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == CAMERA_REQUEST_CODE && data != null) {
val foodBitmap = data.extras?.get("data") as Bitmap
food_image.setImageBitmap(foodBitmap)
}
}
您将获得 foodBitmap
作为 Bitmap
,您可以直接将其传递到您的函数中。