如何使用 Coil 从 URL 获取位图?
How to get bitmap from URL using Coil?
我想从 URL 加载位图,然后使用调色板 API 从中获取一些颜色。
在文档页面,我找不到直接获取位图的代码!
谁能帮帮我?
您可以使用 target
方法并将可绘制对象转换为 bitmap
as
val loader = ImageLoader(this)
val req = ImageRequest.Builder(this)
.data("https://images.dog.ceo/breeds/saluki/n02091831_3400.jpg") // demo link
.target { result ->
val bitmap = (result as BitmapDrawable).bitmap
}
.build()
val disposable = loader.enqueue(req)
如果您使用协程,则在您的 CoroutineScope 中使用 GetRequest
(重载 execute
方法和 suspend
)作为:
coroutineScope.launch{
val loader = ImageLoader(this)
val request = ImageRequest.Builder(this)
.data("https://images.dog.ceo/breeds/saluki/n02091831_3400.jpg")
.allowHardware(false) // Disable hardware bitmaps.
.build()
val result = (loader.execute(request) as SuccessResult).drawable
val bitmap = (result as BitmapDrawable).bitmap
}
我想从 URL 加载位图,然后使用调色板 API 从中获取一些颜色。
在文档页面,我找不到直接获取位图的代码!
谁能帮帮我?
您可以使用 target
方法并将可绘制对象转换为 bitmap
as
val loader = ImageLoader(this)
val req = ImageRequest.Builder(this)
.data("https://images.dog.ceo/breeds/saluki/n02091831_3400.jpg") // demo link
.target { result ->
val bitmap = (result as BitmapDrawable).bitmap
}
.build()
val disposable = loader.enqueue(req)
如果您使用协程,则在您的 CoroutineScope 中使用 GetRequest
(重载 execute
方法和 suspend
)作为:
coroutineScope.launch{
val loader = ImageLoader(this)
val request = ImageRequest.Builder(this)
.data("https://images.dog.ceo/breeds/saluki/n02091831_3400.jpg")
.allowHardware(false) // Disable hardware bitmaps.
.build()
val result = (loader.execute(request) as SuccessResult).drawable
val bitmap = (result as BitmapDrawable).bitmap
}