Как получить растровое изображение из URL-адреса с помощью Coil?
Я хочу загрузить растровое изображение из URL-адреса, а затем использовать API палитры, чтобы получить из него некоторые цвета.
На странице документации я не могу найти код для получения растрового изображения напрямую!
Может кто-нибудь мне помочь?
1 ответ
Решение
Вы можете использовать target
метод и приведите drawable к bitmap
как
val loader = ImageLoader(this)
val req = LoadRequest.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.execute(req)
Если вы используете сопрограммы, используйте GetRequest
(с перегруженным execute
метод с suspend
) в вашем CoroutineScope как:
coroutineScope.launch{
val loader = ImageLoader(this)
val request = GetRequest.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
}