调整从url下载位图以适应imageview空间:质量下降

时间:2012-09-23 13:15:20

标签: android

我知道有很多关于这个问题的问题,但我找不到完全适合我的问题的东西所以我打开这个问题,以便至少在这里收集问题的每个方面。

我们开始吧!我有我的imageview,这个imageview必须有固定的尺寸:

<ImageView
        android:id="@+id/my_image"
        android:layout_width="250dp"
        android:layout_height="170dp"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="20dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
        android:contentDescription="@string/cell_item_image"
        android:scaleType="fitXY" />

我的位图来自网址,采用.jpg格式,因此我的代码为:

bitmap = BitmapFactory.decodeStream(conn.getInputStream());

它的尺寸为435x312像素,比我的屏幕密度大,因此缩放它不会导致质量下降...为什么我会得到模糊的图像?

有没有办法重新缩放位图并预先提供质量?

也许这是尺度类型中的fitXY?但是在代码扩展或布局中有什么区别?我看到很多人在代码中做到这一点,但是,尝试,我得到完全相同的结果

1 个答案:

答案 0 :(得分:1)

编辑:阅读.jpg部分

尝试:

Options options = new BitmapFactory.Options();
options.inScaled = false;
Bitmap source = BitmapFactory.decodeResource(a.getResources(), path, options);

如果这不起作用,请尝试不缩放显示图像(这样您就可以看到导致模糊,图像加载或显示/缩放的原因)