Jetpack Compose 如何创建具有特定尺寸和配置的 ImageBitmap?

Thr*_*ian 12 android android-jetpack-compose

ImageBitmap 加载和图像

ImageBitmap.imageResource(
        LocalContext.current.resources,
        R.drawable.landscape1
    )
Run Code Online (Sandbox Code Playgroud)

还有一个可以使用一些参数调用的函数

ImageBitmap(
        width = 300,
        height = 300,
        config = ImageBitmapConfig.Argb8888,
        hasAlpha = true,
        colorSpace = ColorSpaces.Srgb
    )
Run Code Online (Sandbox Code Playgroud)

它返回没有像素数据的空位图,是否可以使用某些特定配置创建 imageBitMap ?

有类似 ImageBitmap 的东西吗?

val option = BitmapFactory.Options()
option.inPreferredConfig = Bitmap.Config.ARGB_8888
val bitmap: Bitmap = BitmapFactory.decodeResource(
    LocalContext.current.resources,
    R.drawable.landscape1,
    option
)
Run Code Online (Sandbox Code Playgroud)

Phi*_*hov 17

您可以转换BitmapImageBitmap

val option = BitmapFactory.Options()
option.inPreferredConfig = Bitmap.Config.ARGB_8888
val bitmap = BitmapFactory.decodeResource(
    LocalContext.current.resources,
    R.drawable.test,
    option
).asImageBitmap()
Run Code Online (Sandbox Code Playgroud)

请注意,每次重组都会花费大量时间,因此您可能需要用remember