如何使用 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
}