解决:答案是更新所有nuget程序包,并以较新版本的Android为目标。现在,图像将按预期加载。我对此不满意,因为我完全使用了Xamarin提供的代码,并且以较新版本为目标已经弃用了代码所依赖的某些项目。最初的版本是Xamarin.Forms v23,我更新到了V25

我有一个全新的Xamarin表单项目,具有一个简单的 View ,试图在其中显示图像。我尝试了几种方法来显示图像,但我一点也没有运气。

我正在使用<image>,也尝试了FFImageLoader控件。

<StackLayout Orientation="Vertical">

        <ff:CachedImage Source="https://static.pexels.com/photos/104827/cat-pet-animal-domestic-104827.jpeg" WidthRequest="100" HeightRequest="100" />

        <Button x:Name="btn" Text="Image" Clicked="Button_Clicked" />

        <Frame OutlineColor="Red">
            <Image x:Name="StupidImage" Source="{Binding Thumbnail}"  Aspect="Fill" HeightRequest="100" WidthRequest="100"   />
        </Frame>

        </StackLayout>

这是当前 View 。我还直接将Source设置为没有结果的值。

我能够获得该图像的流。我能够从流中读取所有字节。我构建了一个调试可视化器,以将字节显示为图像。从来源获取图像不是问题。获取图像控件以显示图像是一个问题。

我尝试使用 View 模型进行绑定(bind)。当失败时,我尝试直接设置源
StupidImage.Source = ImageSource.FromStream(() => result.Stream);

我还制作了字节的副本并尝试
StupidImage.Source = ImageSource.FromStream(() => new MemoryStream(imageBytes));

我已经尝试过ImageSource.FromFile().FromUri。我尝试将图像作为资源添加到项目中。每次尝试都相同,读取了资源并且字节可用,但是图像控件只是不显示它。

我以为这可能是大小问题,所以我设置了控件的大小。没有什么。我以为这可能是分辨率问题,所以我使用了较小的图像。我尝试了几种不同质量的图像。

然后我放弃了图像控件,得到了FFImageLoading nuget包,并给了它直接指向图像的URL。与FFImageLoading示例使用的示例相同。仍然没有图像。

我尝试了模拟器,并尝试了2种不同的物理设备。结果相同。

我也尝试使用btn.Image = "whatever.jpg"在按钮上设置图像,结果相同。

这是每次的结果。我迷路了。如何显示图像?

编辑:
我确实做到了这一点,但仅限于模拟器
<Image x:Name="StupidImage" Source="https://static.pexels.com/photos/104827/cat-pet-animal-domestic-104827.jpeg" />

和相同的
StupidImage.Source = ImageSource.FromUri(new Uri("https://static.pexels.com/photos/104827/cat-pet-animal-domestic-104827.jpeg"));

编辑2-澄清

我的目标是允许用户从设备中选择照片,然后显示其预览。

xamarin - 使用Xamarin表单显示图像-LMLPHP

最佳答案

如果您想在应用中使用图片,则可以将其加载到“共享项目”中,例如

xamarin - 使用Xamarin表单显示图像-LMLPHP

确保将构建操作更改为嵌入式资源

然后在你的代码中

image.Source = ImageSource.FromResource("App5.Images.useravatar.png");

注意资源名称。

和XAML
<ContentPage.Content>
    <StackLayout>
        <Image x:Name="image" WidthRequest="50"/>
    </StackLayout>
</ContentPage.Content>

关于xamarin - 使用Xamarin表单显示图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47336742/

10-14 18:31
查看更多