如何使用Bitmap for Xamarin.Forms?

时间:2018-02-13 18:01:05

标签: bitmap xamarin.forms icons

如何使用Xamarin Forms中的位图?这曾经是我的Android项目,但我想从Xamarin Forms中使用这样的东西。我不想做任何渲染或平台特定的。如果我能在表格中做到这一点会很棒。 有什么想法吗?

审核表格:

     private async void GetIcon()
        {
            Weather weather = await Core.GetWeather();

            var bitmap = new Image { Source = ImageSource.FromUri(new Uri("http://openweathermap.org/img/w/" + weather.Icon + ".png")) };

DisplayIcon.bitmap ?

        }

xaml:

 <Image x:Name="DisplayIcon" Source ="{Binding bitmap}" />

在这里结束*******

****老帖****

private 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;
        }

        private async void displayIcon()
        {
            Weather weather = await Core.GetWeather();
            if (weather != null)
            {

                var bitmap = GetImageBitmapFromUrl("http://openweathermap.org/img/w/" + weather.Icon + ".png");
                Icon2.SetImageBitmap(bitmap);

            }
        }

2 个答案:

答案 0 :(得分:0)

SkiaSharp广泛支持位图,有大量examples,无需渲染器或平台代码。 (对于位图)

答案 1 :(得分:0)

由于某种原因,绑定图像不能像我预期的那样工作。但是,我发现这种解决方法是一种解决方案。

我将此添加到C#

var bitmap = new Image { Source = ImageSource.FromUri(new Uri("http://openweathermap.org/img/w/" + weather.Icon + ".png")) };

            DisplayIcon.Source = bitmap.Source;

这是XAML

<Image x:Name="DisplayIcon"/>

谢谢大家的回答。