Power Apps 中的 相机 控件
一种控件,使用户可以使用设备上的相机进行拍照。
描述
使用 相机 控件可使用设备的相机捕获图片。 该设备必须有相机,并且用户必须授权应用使用相机。
选择相机控件以从相机中捕获图片。
最近捕获的照片可通过 Photo 属性获得。 使用此属性,图像可以:
- 使用 图像 控件查看。 使用 图像 控件查看捕获的图像。 有关详细信息,请参阅示例。
- 临时放置在变量或集合中。 使用 Set 或 Collect 函数将图像存储在变量或集合中。 在设备的内存有限的情况下,请谨慎使用集合中的多个图像。 使用 SaveData 和 LoadData 函数将图像移至设备上的本地存储,用于脱机场景。
- 存储在数据库中。 使用 Patch 函数将图像存储在数据库中。
- 作为 base64 编码的文本字符串传输。 使用 JSON 函数对图像进行 base64 编码。
使用 Stream、StreamRate 和 OnStream 属性可自动捕获计时器上的图像,例如,每分钟拍摄一张图片来创建延时序列。
捕获的媒体由文本字符串 URI 引用。 有关详细信息,请阅读数据类型文档。
备注
- 仅 Microsoft Edge、Chrome、Firefox 和 Opera 浏览器;以及 Android 和 iOS 设备支持 相机 控件。 所有其他浏览器和平台将显示警告,提示应用的某些功能无法使用。
- camera 控件生成的图像的最大分辨率为 640 x 480 像素。 如果需要全分辨率图像,请使用 添加图片 控件。
- 根据您的移动设备的品牌和型号,使用 相机 控件时,设备相机可能需要几秒钟来初始化。
限制
相机控件具有以下限制:
- 当您使用相机控件时,图像不包含元数据信息。 这是相机拍照方式限制所导致的。 若要缓解此问题,请使用添加图片控件
- 如果移动设备内存不足,相机将暂时禁用,以避免设备崩溃。
- 如果打开使用相机控件的应用,适用于 Windows 的 Power Apps 可能会崩溃。 若要避免此问题,请使用 Windows 平台上的 Web 播放器。 而且不支持多个摄像头。
键属性
AvailableDevices – 设备上可用相机的表。
表包含两列:
- 要与 相机 属性一起使用的 Id 编号
- 设备提供的用于标识相机的名称。 有些平台可能包括正面或背面以帮助定位相机。
注意:表中并非所有设备都可以在您的应用中使用。 有些可能是专门用于特定目的的驱动程序或应用程序。
相机 – 要使用的相机的数字 ID。 对于有多个相机的设备很有用。
OnStream - 当更新 Stream 属性时要执行的操作。
Photo – 用户拍摄照片时捕获的图像。
Stream – 基于 StreamRate 属性自动更新的图像。
StreamRate – 在 Stream 属性上更新图像的频率(以毫秒为单位)。 此值的范围介于 100(1/10 秒)到 3,600,000(1 小时)之间。
其他属性
AccessibleLabel – 屏幕阅读器标签。 应描述拍照的用途。
BorderColor – 控件边框的颜色。
BorderStyle – 控件边框是 Solid、Dashed、Dotted 还是 None。
BorderThickness – 控件边框的粗细。
Brightness – 用户在图像中可能感知到的光线强度。
Contrast – 用户可区分图像中相似颜色的轻松程度。
DisplayMode – 此控件是允许用户输入 (Edit)、仅显示数据 (View),还是已禁用 (Disabled)。
FocusedBorderColor – 当聚焦到控件时,控件的边框颜色。
FocusedBorderThickness – 当聚焦到控件时,控件的边框粗细。
Height – 控件上边缘和下边缘之间的距离。
OnSelect - 当用户点击或单击控件时要执行的操作。
TabIndex – 相对于其他控件的键盘导航顺序。
Tooltip – 用户将鼠标悬停在控件上时显示的解释性文本。
Visible – 控件显示还是隐藏。
Width – 控件左边缘和右边缘之间的距离。
X – 控件左边缘与其父容器或屏幕左边缘之间的距离。
Y – 控件上边缘与其父容器或屏幕上边缘之间的距离。
示例
对于这些示例,您需要一台有相机的设备。 要测试您的应用,请使用可从浏览器访问的网络摄像头。 或者保存您的应用并将其加载到带相机的 iOS 或 Android 设备中。
简单显示捕获的图片
添加一个相机控件。
如果出现提示,授权应用使用设备的相机。
添加 图像 控件。
将 图像 控件的 Image 属性设置为以下公式:
Camera1.Photo
备注
根据需要替换 相机 控件名称 Camera1。
按 F5 预览应用。
通过选择或点击 相机 控件来拍照。 您应该会在 图像 控件中看到结果。
向图像库控件添加图片
添加相机控件,将其命名为 MyCamera,并将其 OnSelect 属性设置为以下公式:
Collect( MyPix, MyCamera.Photo )
更多信息,请访问:
- 如何添加、命名和配置控件?
- 阅读有关 Collect 函数或其他函数的详细信息。
按 F5,然后选择或点击 MyCamera 进行拍照。
添加 Vertical gallery 控件。 然后调整其 图像 控件、模板以及 图像库 控件本身的大小,以适应屏幕大小。
将 图像库 控件的 Items 属性设置为以下公式:
MyPix
将库中 图像 控件的 图像 属性设置为以下公式:
ThisItem.Url
拍摄的图片将在 图像库 控件中显示。
拍摄所需数量的图片,然后按 Esc 返回默认工作区。
(可选)将 图像库 控件中 图像 控件的 OnSelect 属性设置为此公式:
Remove( MyPix, ThisItem )
按 F5,然后选择一张图片将其移除。
使用 SaveData 函数在本地保存图片,或使用 Patch 函数更新数据源。
从下拉列表更改活动相机
添加一个 相机 控件。
如果出现提示,授权应用使用设备的相机。
将下拉列表的 Items 属性设置为:
Camera1.AvailableDevices
备注
根据需要替换 相机 控件名称 Camera1。
将相机的 相机 属性设置为:
Dropdown1.Selected.Id
备注
根据需要替换 下拉 控件名称 Dropdown1。
按 F5,然后从下拉列表中选择一项来更改相机。
辅助功能准则
相机 控件显示相机源,也用作拍摄照片的按钮。 因此,要考虑与按钮相类似的辅助功能注意事项。
视频替代项
请考虑为有视觉障碍的用户添加另一种输入形式。 例如,添加图片,允许用户从自己的设备上传图像。
颜色对比度
FocusedBorderColor 和外部颜色之间必须有足够的颜色对比度。
屏幕阅读器支持
AccessibleLabel 必须存在。
键盘支持
TabIndex 必须为零或更大,以便键盘用户可以导航到它。
焦点指示器必须清晰可见。 使用 FocusedBorderColor 和 FocusedBorderThickness 更新焦点指示器的可见性。