gpt4 book ai didi

android-jetpack-compose - 如何在 Kotlin Compose 桌面中从远程 url 加载图像?

转载 作者:行者123 更新时间:2023-12-04 12:23:05 33 4
gpt4 key购买 nike

如何在 Kotlin Compose 桌面中从远程 url 加载图像?
在 Android 中它使用大肠杆菌作为官方样本

@Composable
fun NetworkImage(
url: String,
modifier: Modifier = Modifier,
contentScale: ContentScale = ContentScale.Crop,
placeholderColor: Color? = MaterialTheme.colors.compositedOnSurface(0.2f)
) {
CoilImage(
data = url,
modifier = modifier,
contentScale = contentScale,
loading = {
if (placeholderColor != null) {
Spacer(
modifier = Modifier
.fillMaxSize()
.background(placeholderColor)
)
}
}
)
}
bu 作为桌面应用程序,不支持 aar。

最佳答案

使用 javax.imageio.ImageIO 从网络加载图像:

import androidx.compose.ui.graphics.ImageBitmap
import androidx.compose.ui.graphics.asImageBitmap
import org.jetbrains.skija.Image
import java.io.ByteArrayOutputStream
import java.net.HttpURLConnection
import java.net.URL
import javax.imageio.ImageIO

fun loadNetworkImage(link: String): ImageBitmap {
val url = URL(link)
val connection = url.openConnection() as HttpURLConnection
connection.connect()

val inputStream = connection.inputStream
val bufferedImage = ImageIO.read(inputStream)

val stream = ByteArrayOutputStream()
ImageIO.write(bufferedImage, "png", stream)
val byteArray = stream.toByteArray()

return Image.makeFromEncoded(byteArray).asImageBitmap()
}
然后将其用作:
Image(
bitmap = loadNetworkImage("Your image link")
)

关于android-jetpack-compose - 如何在 Kotlin Compose 桌面中从远程 url 加载图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66002696/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com