从InputStream解码时,图像质量损失很大



我试图从URL检索图像并在ImageView上显示它。这个任务看起来很简单,我可以在ImageView中显示图像,但是质量真的很差。

到目前为止我所做的是:

 Options options = new BitmapFactory.Options();
 options.inScaled = false;
 options.inDither = false;
 options.inPreferredConfig = Bitmap.Config.ARGB_8888;
 InputStream in = new java.net.URL(urldisplay).openStream();
 mIcon11 = BitmapFactory.decodeStream(in,null,options);

ImageView属性

<ImageView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        .../>

我也试图直接使用decodeStream无选项,但结果仍然是一样的。

代码没问题,您还可以考虑使用抖动以获得更好的结果。如果您下载的图像在像素上比ImageView小得多,结果看起来很糟糕。

解决方案是下载质量更好的图像或将ImageView更改为更小。您可以在解码Bitmap之后以编程方式调整ImageView的宽度和高度。

如果Bitmap像素小于ImageView像素,则将ImageView像素调小。

最新更新