【问题标题】:Android Studio: Imageview background blurs on larger minimum size than imageAndroid Studio:Imageview背景在比图像更大的最小尺寸上模糊
【发布时间】:2017-01-02 08:02:32
【问题描述】:

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

像任何人一样,我根据需要设置我的 imageview 的最小高度/宽度

Imageview.setMinimumWidth(WIDTH);
Imageview.setMinimumHeight(HEIGHT);

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

(给我这种感觉)

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

【问题讨论】:

标签: java android android-studio


【解决方案1】:

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

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

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

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

【讨论】:

  • "new BitmapDrawable(activity.getResources(), bitmap);"困惑在“位图”位置放什么
  • @Hisownmother 抱歉,也有几种方法可以从资源中获取Bitmap。我在上面的代码中添加了一个简单的方法。
【解决方案2】:

请尝试将图像视图的比例类型属性设置为 FitXY 我想这会解决你的问题

【讨论】:

  • 只会缩放图像以适应ImageView 的尺寸。如果ImageView的大小比图片大,图片还是会模糊。
猜你喜欢
  • 2011-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多