Как использовать загруженное изображение в Xamarin Forms - PullRequest
0 голосов
/ 11 декабря 2019

Я хочу, чтобы мои пользователи загружали свое собственное изображение для баннера моего приложения Xamarin Forms. Я думал о том, чтобы они загрузили изображение с самым высоким разрешением / размером (размер xxxhdpi из Android), а затем сократили его, чтобы (надеюсь) сохранить качество изображения. Есть ли способ для меня, чтобы узнать, насколько я должен масштабировать изображение на основе экрана устройства? Это не должно быть идеально. Я был бы рад просто определить размер изображения, которое приложение выбирает для изображений приложения (например, @ 2x, xxhdpi и т. Д.). Например, в iOS, если бы приложение использовало изображения @ 3x, я бы уменьшил размер своего изображения на 25%. Это предполагает, что размер загружаемого изображения соответствует размеру xxxhdpi для Android. Если бы приложение работало на экране xxxhdpi в Android, масштабирование не выполнялось бы. есть идеи как это сделать?

1 Ответ

1 голос
/ 16 декабря 2019

вы можете получить Density вашего устройства на DeviceDisplay в Xamarin.Forms через Xamarin.Essentials , например:

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

, тогда вы можете использовать dpi дляопределить, какой размер вашего устройства (может относиться к плотности )

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...