Android Studio:Imageview 背景在比图像更大的最小尺寸上模糊

Maz*_*ino 3 java android android-studio

在 Android Studio 中,我正在使用 Imageviews,并使用相对较小的图像(10x16px)来获得较大的图像视图(100 像素)。

就像任何人都会做的那样,我根据需要设置图像视图的最小高度/宽度

Imageview.setMinimumWidth(WIDTH);
Imageview.setMinimumHeight(HEIGHT);
Run Code Online (Sandbox Code Playgroud)

然而,当我测试我的程序时,初始图像缩放时有很多模糊(图像旨在具有像素样式,因此模糊确实是有问题的)。我假设重采样是双线性的。

(给我这样的表情)

在此输入图像描述

那么本质上,有没有办法让 imageview 像这样缩放图像?最近邻重采样

在此输入图像描述

Bry*_*yan 5

发生这种情况是因为它ImageView的像素密度比提供的图像更大,因此它必须放大图像以匹配边界。为了避免这种情况,您有两种选择。

首先,您可以禁用图像的抗锯齿功能,这将缩放图像而不使其模糊:

Bitmap bitmap = BitmapFactory.decodeResource(activity.getResources(), R.drawable.sprite);
BitmapDrawable drawable = new BitmapDrawable(activity.getResources(), bitmap);
drawable.setAntiAlias(false);
imageView.setImageDrawable(drawable);
Run Code Online (Sandbox Code Playgroud)

或者您可以提供足够大的图像,这样它只会被缩小,而不会被放大。