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