Dus*_*vis 7 xamarin.ios xamarin.android xamarin xamarin.forms
解决: 答案是更新所有nuget包并定位更新版本的Android.现在图像按预期加载.我对此并不满意,因为我正在使用Xamarin提供的代码,并且针对较新版本已经弃用了代码所依赖的一些项目.初始版本是Xamarin.Forms v23,我更新到V25
我有一个全新的Xamarin表单项目,其中有一个简单的视图,我正在尝试显示图像.我已经尝试了几种方法来显示图像,而我根本没有任何运气.
我正在使用<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>
Run Code Online (Sandbox Code Playgroud)
这是当前的观点.我还将Source直接设置为没有结果的值.
我能够获得图像的流.我能够从流中读取所有字节.我构建了一个调试可视化工具,将字节显示为图像.从源获取图像不是问题.获取图像控件以显示图像是一个问题.
我尝试用视图模型绑定.当失败时,我尝试直接设置源
StupidImage.Source = ImageSource.FromStream(() => result.Stream);
Run Code Online (Sandbox Code Playgroud)
我也做了一个字节的副本并尝试过
StupidImage.Source = ImageSource.FromStream(() => new MemoryStream(imageBytes));
Run Code Online (Sandbox Code Playgroud)
我试过ImageSource.FromFile()和.FromUri.我尝试将图像作为资源添加到项目中.每次尝试都是相同的,资源被读取并且字节可用,但图像控件只是不显示它.
我想也许这是一个尺寸问题,所以我设置了控件的大小.没有.我想也许这是一个分辨率问题,所以我使用了一个较小的图像.我尝试了几种不同质量的不同图像.
然后我放弃了图像控制,我得到了FFImageLoading nuget包,并给了它一个直接的URL到图像.FFImageLoading示例使用的相同示例.仍然没有形象.
我尝试了模拟器,我尝试了两种不同的物理设备.结果相同.
我也尝试使用btn.Image = "whatever.jpg"相同的结果在按钮上设置图像.
这是每次的结果.我迷路了.如何显示图像?
编辑: 我确实让这个工作,但只在模拟器上
<Image x:Name="StupidImage" Source="https://static.pexels.com/photos/104827/cat-pet-animal-domestic-104827.jpeg" />
Run Code Online (Sandbox Code Playgroud)
同样的
StupidImage.Source = ImageSource.FromUri(new Uri("https://static.pexels.com/photos/104827/cat-pet-animal-domestic-104827.jpeg"));
Run Code Online (Sandbox Code Playgroud)
编辑2 - 澄清
我的目标是允许用户从设备中选择一张照片,然后显示它的预览.
小智 6
如果您想在应用程序中使用图像,可以将它们加载到共享项目中,例如
确保将Build Action更改为Embedded资源
然后在你的代码中
image.Source = ImageSource.FromResource("App5.Images.useravatar.png");
Run Code Online (Sandbox Code Playgroud)
请注意资源名称.
和XAML
<ContentPage.Content>
<StackLayout>
<Image x:Name="image" WidthRequest="50"/>
</StackLayout>
</ContentPage.Content>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4701 次 |
| 最近记录: |