Создание приложения с помощью элемента управления Измерение камерой
Вы можете использовать элемент управления Измерение камерой в вашем приложении, чтобы пользователи могли измерять расстояние, площадь и объем. Во время измерения вы создаете двухмерные и трехмерные многоугольники, которые можно использовать для подтверждения того, как объект определенного размера вписывается в пространство.
Элемент управления создает кнопку в вашем приложении. Когда пользователи приложения нажимают кнопку, оно ведет прямую трансляцию с камеры устройства. Затем пользователи приложения могут указать начальную точку и одну или несколько последовательных конечных точек для измерения между ними. Экземпляры измеренных сегментов отображаются непосредственно в прямом эфире с камеры.
Когда пользователь выходит из элемента управления, сделанные измерения фиксируются в свойстве Measurements, чтобы их можно было сохранять или хранить.
Снимки экрана, сделанные во время работы в смешанной реальности, хранятся в свойстве Photos для просмотра в приложении.
В этой статье мы создадим экран в приложении, чтобы использовать элемент управления Измерение камерой для измерения площади определяемого пользователем пространства, а также для просмотра фотографии измеренного пространства.
Посмотрите это видео, чтобы узнать, как создавать мобильные приложения с помощью элемента управления Измерение камерой:
Предварительные условия
См. предварительные условия для устройств с поддержкой смешанной реальности.
Создание приложения с помощью элемента управления Измерение камерой
Откройте приложение в Power Apps Studio.
Перейдите на вкладку Вставка.
Разверните Мультимедиа.
Выберите элемент управления Измерение камерой, чтобы вставить его на экран.
Разместите элемент управления в нижней части экрана.
Измените следующие свойства элемента управления, используя панель свойств в правой части экрана.
Свойство Значение Текст Площадь измерения Единица измерения Футы Тип измерения Площадь Выберите вкладку "Дополнительно" и измените свойство OnMixedRealitySelect на следующую формулу:
ClearCollect(colMRMeasurements, Self.Measurements); ClearCollect(colMRPhotos, Self.Photos)
Эта формула позволит пользователю определять площади, которые будут измеряться в квадратных футах, и сохранять самые последние результаты измерений в коллекции с именем colMRMeasurements, и самые последние фотографии в коллекции с названием colMRPhotos.
Добавьте текстовую метку на экран и переместите ее в верхний левый угол экрана.
Измените следующие свойства для добавленной текстовой метки:
Свойство Значение Текст Площадь измерения Размер шрифта 24 Насыщенность шрифта Полужирный Выравнивание текста Центр Ширина Parent.Width Цвет RGBA(255, 255, 255, 1)
Заливка RGBA(56, 96, 178, 1)
Эта метка дает заголовок для экрана.
Добавьте элемент управления image и переместите его чуть ниже метки заголовка.
Измените следующие свойства для элемента управления image:
Свойство Значение Изображение First(colMRPhotos).ImageURI
Толщина границы 2 Элемент управления image отобразит первое изображение, взятое из элемента управления Измерение камерой.
Добавьте еще одну метку на экран, разместив ее под элементом управления image.
Задайте для свойства Text метки следующую формулу:
"Area: " & If(IsEmpty(colMRMeasurements), "no area measured", First(colMRMeasurements).Area & " sq. " & First(colMRMeasurements).Unit)
Эта метка будет отображать первое измерение площади и тип единицы измерения, полученные из элемента управления Измерение камерой. Если нет результатов измерения, которые нужно вернуть, в тексте будет отображаться Площадь: площадь не измерена, чтобы пользователь знал, что значение отсутствует.
Тестирование приложения
Совет
Посмотрите видео, встроенное в верхнюю часть этой статьи, чтобы узнать, как работает приложение.
Теперь, когда все элементы управления добавлены, сохраните и опубликуйте приложение. На устройстве с поддержкой смешанной реальности (как определено в разделе "Предварительные условия") откройте приложение и нажмите кнопку Площадь измерения. Откроется интерфейс Измерение камерой, где пользователь может определить область для измерения.
Следуйте инструкциям на экране, чтобы откалибровать устройство, медленно перемещая его влево и вправо, направляя камеру на измеряемую поверхность. После завершения калибровки вы увидите массив точек на поверхности, а также круг и сетку из точек в центре экрана. Эта сетка используется для определения длины, площади и объема с помощью кнопки "+" для добавления точек и отрезков линий.
Фотографии можно делать с помощью кнопки камеры. На этих фотографиях будут показаны длины, площади и объемы, определенные пользователем.
Есть кнопка отмены, чтобы отменить все размещенные точки.
Начните с размещения точки с помощью кнопки +. Вы заметите, что оранжевая линия и измерение теперь связаны с точкой, которую вы поместили. Поместите вторую точку и обратите внимание, как между двумя размещенными вами точками появляется линия с измерением. Продолжайте размещать точки, пока желаемая форма не будет полностью определена. Чтобы замкнуть форму, поместите сетку в первую сделанную точку и используйте кнопку +. Вы заметите, что центральная точка сетки меняет цвет с белого на зеленый, что означает: форма может быть закрыта. Если две стороны фигуры пересекаются или вы пытаетесь замкнуть фигуру, используя любую другую точку, кроме первой. Вы заметите, что центральная точка сетки меняет цвет с белого на красный, что означает: сюда нельзя поместить точку.
После того как область будет полностью определена, расположите устройство так, чтобы можно было сделать снимок определенной области, и используйте для этого кнопку камеры. Выберите кнопку Отправить. Появится диалоговое окно подтверждения с вопросом, закончили ли вы измерения. Если вам нужно ввести другие измерения, выберите Отмена, чтобы вернуться в среду СР. Если вы закончили, выберите Отправить, чтобы вернуться на экран приложения.
Вы увидите первый сделанный снимок, а также рассчитанную площадь определенной вами формы и единицы измерения, в данном случае квадратные футы.
Затем измерение и фото можно использовать как любое другое фото или текстовое поле в Power Apps, например, для отправки по электронной почте или хранения в таблице в Microsoft Dataverse.