在xamarin表单应用程序中与列表视图绑定之前,如何压缩在线图像。实际上,在线图片的大小非常大,例如5MB,6MB, 连续查看9或10张图像后,我的App崩溃了。 有帮助吗????
答案 0 :(得分:1)
您应该使用FFImageLoading,它具有一种调整大小以适合视图大小的方法
DownsampleToViewSize(布尔型,默认值:false)
如果设置为true,图像将调整为图像视图尺寸。请注意: 这不适用于某些布局(例如,没有 指定了RequestWidth / RequestWidthHeight,在LayoutOptions.Fill中填入 具体情况等)。选择尺寸的算法:第一 选中了View.Width / View.Height,如果它为⇐0,则会退回到: View.RequestWidth / View.RequestHeight,如果为⇐0,则会退回到 使用DownsampleWidth / DownsampleHeight属性。这不是最好的 未定义初始尺寸的图像视图的选项。为此你 应该使用DownsampleWidth或DownsampleHeight属性并设置 手动下采样。</ p>
一个例子:
<ffimageloading:CachedImage HorizontalOptions="Center" VerticalOptions="Center"
WidthRequest="300" HeightRequest="300"
DownsampleToViewSize="true"
Source = "http://loremflickr.com/600/600/nature?filename=simple.jpg">
</ffimageloading:CachedImage>
您可以检查他们的official documentation
答案 1 :(得分:0)
您可以为每个图像使用缩略图来解决此问题。保存图像时创建缩略图。在列表视图中加载图像时,请在缩略图和详细视图中打开实际图像。这是处理这种情况的正确方法。
如果您使用Azure Blob存储来存储图像,则可以编写一个函数,该函数将在上载图像时触发,它将创建图像的缩略图。