【问题标题】:Android image from asset pixelated来自资产像素化的 Android 图像
【发布时间】:2018-08-07 07:16:09
【问题描述】:

在开发 Android 应用时,我发现我从资产中显示的所有图像都是像素化的。

我正在使用这 2 行来显示它们:

Drawable imageDrawable = Drawable.createFromStream("my_logo.png", null);
imageView.setBackground(imageDrawable);

图像的尺寸为:128/128 或 256/256,并显示在方形 ImageView 中。

有人想保持我的图像质量吗?

【问题讨论】:

    标签: android image pixelate


    【解决方案1】:

    更改图片的尺寸会降低质量。你可以做几件事

    1. 请改用矢量。矢量可以无限放大和缩小而不会损失质量。
    2. 使用与您的图片大小相同或更小的ImageView 高度和宽度,并保持纵横比。

    【讨论】:

    • 3) 为不同的密度使用图像的多个版本,并在运行时选择正确的版本。如果将它们放入资源中比放入资产中更容易,因为如果设置正确,资源将自动选择正确的密度
    • 是的,谢谢,我认为我必须使用尺寸尽可能接近我的 ImageView 尺寸的图像或尝试使用矢量
    【解决方案2】:

    void setImageDrawable (Drawable drawable)
    将 drawable 设置为 ImageView 的内容。

    要在java中设置drawable为ImageView,你需要使用setImageDrawable (Drawable drawable)方法。

    您将drawable设置为imageView的背景,您的代码应该是,
    Drawable imageDrawable = Drawable.createFromStream("my_logo.png", null); imageView.setImageDrawable(imageDrawable);

    【讨论】:

      猜你喜欢
      • 2015-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-27
      • 1970-01-01
      • 2014-12-29
      • 1970-01-01
      • 2015-12-19
      相关资源
      最近更新 更多