URL图像小于原始图像

时间:2015-08-17 10:05:47

标签: android image xamarin

我正在使用xamarin工作室。我必须从Web服务下载一堆图像。我只获取他们的网址,然后我使用以下代码制作图像位图

     SetContentView (Resource.Layout.test);
        ImageView img = FindViewById<ImageView> (Resource.Id.image);
        Bitmap bitimage = GetImageBitmapFromUrl ("http://apk.payment24.co.za/promotions/engensa/muffin.png");
        img.SetImageBitmap (bitimage);


   public  static Bitmap GetImageBitmapFromUrl(string url)
    {

        Bitmap imageBitmap = null;
        using (var webClient = new WebClient())
        {


            var imageBytes = webClient.DownloadData(url);
            if (imageBytes != null && imageBytes.Length > 0)
            {
                imageBitmap = BitmapFactory.DecodeByteArray(imageBytes, 0, imageBytes.Length);
            }
        }

        return imageBitmap;
    }

问题是我显示的图像非常小。如果我手动从网址下载图像并将其添加到项目中,它可以正常工作。 我的图像视图设置包括:match_parent和height:wrap_content。 如果我通过URL下载图像,如何获得图像的原始大小。 请参阅此链接,了解图片的外观http://postimg.org/image/c3kbsz903/

2 个答案:

答案 0 :(得分:2)

您需要在Imageview中添加android:adjustViewBounds ="true"android:src="@drawable/属性

    <ImageView
   layout_width="match_parent"
   layout_height="wrap_content"
   android:adjustViewBounds ="true"
   android:src="@drawable/ dummy drawable/>

请检查android中的ScaleType

答案 1 :(得分:0)

您声明您的视图属性是这样的

<ImageView
   layout_width="match_parent"
   layout_height="wrap_content" />

要获得图像的原始大小,您必须将ImageView的layout_width属性设置为wrap_content,以便ImageView不会使用其父级的宽度但会适应图像的原始大小。