Android ImageView 与 PixelArt

Android ImageView with PixelArt

我想在 ImageView 中显示像素图,但它总是变得模糊。 我按照 this post (和其他一些)中的解释进行了尝试,并且我使用函数 createScaledBitmap 进行了尝试,就像您在代码中看到的那样。但它仍然变得模糊。 我还能做些什么来正确显示我的 PixelArt?

        var bitmap = Bitmap.createScaledBitmap(fu, 120, 120, false)
        var drawable = BitmapDrawable(context.resources, bitmap)
        drawable.setAntiAlias(false)
        drawable.setFilterBitmap(false)
        myImageView.setImageDrawable(drawable )

(Imageview 在 RecyclerView 中,但我认为这对我的问题并不重要。)

您在禁用过滤之前放大了图像,所以它看起来仍然被过滤了。把小精灵放大成大位图也是浪费内存。

您不需要像那样搞乱手动缩放。您可以在您的 ImageView 上设置可绘制对象(在您的 XML 布局中分配它或在其上调用 setImageResource)。然后在其可绘制对象上将 isFilterBitmap 设置为 false。

myImageView.setImageResource(R.drawable.mySprite) // if not already set in XML
myImageView.drawable?.isFilterBitmap = false