【发布时间】:2020-09-05 14:12:23
【问题描述】:
我想从 URL 加载位图,然后使用调色板 API 从中获取一些颜色。
在文档页面,我找不到直接获取位图的代码!
谁能帮帮我?
【问题讨论】:
标签: android kotlin palette image-load coil
我想从 URL 加载位图,然后使用调色板 API 从中获取一些颜色。
在文档页面,我找不到直接获取位图的代码!
谁能帮帮我?
【问题讨论】:
标签: android kotlin palette image-load coil
您可以使用target 方法并将drawable 转换为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
}
【讨论】:
val disposable = loader.execute(req)
await 立即执行。