如何在Xamarin表单中使用上传的图像

问题描述 投票:0回答:1

我希望用户为Xamarin Forms应用程序的横幅广告上传自己的自定义图像。我的想法是让他们上传最高分辨率/尺寸的图像(Android的xxxhdpi尺寸),然后将其缩小以(希望)保留图像的质量。有什么办法可以让我根据设备的屏幕来缩放图像?它不一定是完美的。我很高兴能够确定应用程序为应用程序图像选择的尺寸图像(即@ 2x,xxhdpi等)。例如,在iOS上,如果应用程序使用@ 3x图像,我会将图像尺寸缩小25%。这是假设上传的图像大小适用于Android的xxxhdpi大小。如果该应用程序在Android的xxxhdpi屏幕上运行,则不会进行缩放。任何想法如何做到这一点?

image-processing xamarin.forms screen-resolution
1个回答
0
投票

您可以通过Xamarin.Essentials在Xamarin.Forms中通过Density获得设备的DeviceDisplay,例如:

var mainDisplayInfo = DeviceDisplay.MainDisplayInfo;
// Screen density
var density = mainDisplayInfo.Density;
//for Android
var dpi = density * 160; 

然后您可以基于dpi来确定设备的尺寸(可以参考densities

mdpi    Resources for medium-density (mdpi) screens (~160dpi). (This is the baseline density.)
hdpi    Resources for high-density (hdpi) screens (~240dpi).
xhdpi   Resources for extra-high-density (xhdpi) screens (~320dpi).
xxhdpi  Resources for extra-extra-high-density (xxhdpi) screens (~480dpi).
xxxhdpi Resources for extra-extra-extra-high-density (xxxhdpi) uses (~640dpi). 

然后您可以通过将值分配给图像控件来调整图像大小的大小

参考ImageResizer

© www.soinside.com 2019 - 2024. All rights reserved.