Благодаря долгим месяцам напряженной работы, содействию разработке заинтересованных сторон и аналитическому рассмотрению кода; после выпуска новых версия операционных систем и многих интересных возможностей, совершенно новый медиаплагин для Xamarin и Windows наконец-то готов предстать на суд общественности. Не имеет значения, на чём Вы разрабатываете приложения: Xamarin или Xamarin.Forms, Вы с легкостью можете позволить пользователям снимать или выбирать фото и видео, используя общий код!
Вот самый простой пример съёмки фотографии и её отображения в Xamarin.Forms Image.
Улучшения
При создании этого релиза я сосредоточился на повышении производительности, оптимизации памяти и добавление новых функций, которые запрашивали разработчики. И первостепенной задачей была подгонка размеров изображения при съёмке и сортировке фотографий. Сейчас всё, что для этого требуется сделать — это установить PhotoSize в Media Options:
PhotoSize = PhotoSize.Medium
Благодаря этому оно будет уменьшено вполовину, или же можно просто указать кастомное изменение соотношения размеров:
PhotoSize = PhotoSize.Custom, CustomPhotoSize = 90
И более того, я также добавил новый способ сжатия качества изображений, которым можно воспользоваться, просто установив другой параметр при съёмке или выборе фотографий:
CompressionQuality = 92
Это бывает крайне полезным при отображении фотографий для пользователей, а также тогда, когда локальное сохранение фото в разрешении 2400×4600 видится нецелесообразным. Тем не менее может требоваться сохранить оригинальную фотографию в пользовательской галерее, и здесь на выручку приходит Media Plugin! Просто установите:
SaveToAlbum = true
Соответственно, оригинальный снимок будет сохранен в каталог с фотографиями, отснятыми камерой на каждом устройстве!
Здесь появилось и множество других функций, таких как специфицирование удаления лишних пикселов на границах изображения на iOS и UWP, поддержка новых разрешений iOS 10 и Android N (новый фантастичный File Providers) и даже графической накладки на iOS:
Оптимизация
Я потратил множество часов на оптимизацию кода специально под Android. Это означает, что фотографии будут автоматически поворачиваться на основе информации, предоставляемой Exif, и растровые изображения загружаться в память только тогда, когда это необходимо для продолжения съёмки, а также различные ошибки, о которых сообщали на станице GitHub, были исправлены. В этом релизе также появилось приятное дополнение нового Permissions Plugin, так что теперь всё желающие могут взяться за освоение новых, определённо, удачных функций.
Кроме того, я доволен новой документацией, которую подготовил для этого релиза, подробно описав каждый момент, который мог. Помимо прочего, документация соержит множество хороших примеров для практического ознакомления в папках тестов.
Что будет дальше?
Я бы хотел заняться сознанием новой 3.0-версии, включающей определённые решения по оптимизации, такие как возможность изменения размеров фотографий до максимальной ширины и высоты, но все-таки хотелось узнать Ваше мнение о том, что вы желаете увидеть в следующем релизе, или Вы уже всем довольны? 🙂 Поделитесь с нами Вашим мнением на странице GitHub.
Автор: James Montemagno
Источник: Статья в блоге автора
Написать ответ