[英]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.