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
我想在 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