android - 在 Android Jetpack Compose Image 中禁用位图过滤

标签 android android-jetpack-compose antialiasing bilinear-interpolation

我将像素艺术风格的图像存储在 res/drawable 中,其尺寸自然较小,但需要放大以进行显示。然而,默认行为似乎是模糊放大的图像以尝试隐藏像素。如何禁用它?

  1. 这是手机屏幕截图。您可以看到图像与文本相比是模糊的。

blurry image

  • 这是所需的具有清晰像素的缩放图像(请忽略背景)
  • desirable image

    我看到有一个 similar question for the old Android framework ,但我正在使用 Jetpack Compose。

    最佳答案

    现在有一个 filterQuality 参数,您可以在 Image 可组合项中将其设置为 None 以禁用双线性插值。这是从版本 1.1.0-alpha01 开始的androidx.compose.ui:ui

    使用示例:

    Image(
        bitmap = ImageBitmap.imageResource(id = imageId),
        contentDescription = null,
        filterQuality = FilterQuality.None
    )
    

    提到了旧版本的解决方法 here .

    关于android - 在 Android Jetpack Compose Image 中禁用位图过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70490557/

    相关文章:

    c++ - 创建纹理后,OpenGL 抗锯齿形状

    python - 随机点立体图的抗锯齿

    android - 使用新列更新现有数据库表在 Activity android 中不起作用

    java - Button.setOnclickListener(this) 的问题

    java - Android 获取 url,需要登录

    android - 为什么升级到 jetpack compose 1.0.0-beta01 后没有隐式导入 kotlin.collections?

    android - 如何在 Android 中使用 AudioRecorder 录制音频

    android - Kotlin 流程图 - 即使值相同也发出信号

    android - 从 StateFlow 收集状态

    c++ - OpenGL 全屏渲染