[英]How do I get the bitmap of an image?
在我的onActivityResult
function 中,我有以下代码行:
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)
}
For foodBitmap
it's inferred type is Bitmap
, but I need to ensure that it's type is Bitmap
for another function that I'm using which expects a parameter of type Bitmap
. 我目前无法将foodBitmap
传递给 function 因为它需要一个Bitmap
并且不认为foodBitmap
是一个Bitmap
。 如何修复那行代码?
foodBitmap
的推断类型不是Bitmap
,而是可为空的类型Bitmap?
. 因此,您有三个选择:
将初始化foodBitmap
的代码更改为:
val foodBitmap = Objects.requireNonNull(Objects.requireNonNull(data).!.extras)!!["data"] as Bitmap
在您的其他 function 中将参数更改为Bitmap?
或者
当您调用 function 时,请使用let
function:
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
,您可以直接将其传递到您的 function。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.