Как сжать изображение онлайн в виде списка без привязки к реальному размеру? - PullRequest
0 голосов
/ 29 января 2019

Как сжать изображение онлайн, которое перед связыванием с представлением списка в моем приложении xamarin форм.на самом деле онлайн-изображения имеют очень большой размер, например, 5 МБ, 6 МБ, мое приложение зависает после непрерывного просмотра 9 или 10 изображений.любая помощь пожалуйста ????

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Вы можете решить эту проблему, используя миниатюру для каждого изображения.Создать эскиз при сохранении изображения.Когда вы загружаете изображения в виде списка, загружаете миниатюру и в подробном представлении открываете фактическое изображение.Это правильный способ справиться с этим сценарием.

Если вы используете хранилище BLOB-объектов Azure для хранения изображения, то вы можете написать функцию, которая будет запускаться при загрузке изображения, которое создаст миниатюру изображения.

0 голосов
/ 29 января 2019

Вы должны использовать FFImageLoading , у него есть метод для изменения размера, чтобы соответствовать размеру представления

DownsampleToViewSize (bool, по умолчанию: false)

Если установленок истинному изображению изменится до размера просмотра изображения.Обратите внимание: это не может работать на некоторых макетах (например, абсолютные макеты без указания RequestWidth / RequestWidthHeight, LayoutOptions.Fill в некоторых конкретных сценариях и т. Д.).Алгоритм выбора размера: Первый View.Width / View.Height проверяется, если он равен 0, он возвращается к: View.RequestWidth / View.RequestHeight, если он равен 0, он возвращается к использованию свойств DownsampleWidth / DownsampleHeight.Это не лучший вариант для изображений, для которых не задан начальный размер.Для этого вам следует использовать свойства DownsampleWidth или DownsampleHeight и вручную установить размер выборки.

Пример:

<ffimageloading:CachedImage HorizontalOptions="Center" VerticalOptions="Center"
            WidthRequest="300" HeightRequest="300"
            DownsampleToViewSize="true"
            Source = "http://loremflickr.com/600/600/nature?filename=simple.jpg">
        </ffimageloading:CachedImage>

Вы можете проверить их официальную документацию

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