Power Apps 中的相机控件

允许用户在设备上使用相机拍照的控件。

Description

使用 相机 控件通过设备的相机捕获图片。 设备必须具有相机,用户必须授权应用使用相机。

选择相机控件从相机捕获图片。

最近捕获的图片可通过 Photo 属性获取。 使用此属性,图像可以是:

  • 使用图像控件查看。 使用 图像 控件查看捕获的图像。 有关详细信息,请参阅 示例
  • 暂时放入变量或集合中。 使用 SetCollect 函数将图像存储在变量或集合中。 在集合中使用多个图像时,请谨慎使用设备有限的内存。 使用 SaveDataLoadData 函数将图像移动到设备上的本地存储,以及用于 脱机方案
  • 存储在数据库中。 使用 Patch 函数将图像存储在数据库中。
  • 以 base64 编码文本字符串的形式传输。 使用 JSON 函数对图像进行 base64 编码。

使用 StreamStreamRateOnStream 属性自动捕获计时器上的图像,例如每隔一分钟拍摄一张图片以创建一个时间失误序列。

捕获的媒体由文本字符串 URI 引用。 有关详细信息,请阅读 数据类型文档

注释

  • 相机控件仅在 Microsoft Edge、Chrome、Firefox 和 Opera 浏览器上受支持;和 Android 和 iOS 设备。 所有其他浏览器和平台将显示一条警告,指出应用的某些功能不起作用。
  • 相机控件生成的图像的最大分辨率为 640 x 480 像素。 如果需要完整的分辨率图像,请改用 “添加图片 ”控件。
  • 根据移动设备的制作和型号,使用相机控件时,设备相机可能需要几秒钟才能初始化。

局限性

相机控件具有以下限制:

  1. 使用相机控件时,图像不包含元数据信息。 这是因为我们如何使用相机拍摄图像。 若要缓解此问题,请使用 “添加图片”控件
  2. 如果移动设备内存不足,则暂时禁用相机以避免设备崩溃。
  3. 如果打开使用相机控件的应用,适用于 Windows 的 Power Apps 可能会崩溃。 若要避免此问题,请使用 Windows 平台上的 Web 播放器。 此外,不支持多个相机。

键属性

AvailableDevices – 设备上的可用相机表。

表包含两列:

  • 要用于 Camera 属性的 ID
  • 设备提供用于标识相机的名称。 某些平台可能包括 FrontBack ,以帮助定位相机。

注意:表中并非所有设备都可以在应用中使用。 某些驱动程序或应用程序可能专用于特定目的。

相机 – 要使用的相机的数字 ID。 在具有多个相机的设备上非常有用。

OnStream – 更新 Stream 属性时要执行的作。

照片 – 用户拍摄照片时捕获的图像。

Stream – 基于 StreamRate 属性自动更新的图像。

StreamRate – 在 Stream 属性上更新映像的频率(以毫秒为单位)。 此值的范围可以是 100 (秒 1/10) 到 3,600,000 (1 小时)。

其他属性

AccessibleLabel – 屏幕阅读器标签。 应描述拍照的目的。

BorderColor – 控件边框的颜色。

BorderStyle – 控件的边框是 SolidDashedDotted 还是 None

BorderThickness – 控件边框的粗细。

亮度 – 用户在图像中可能感知到的光线量。

对比度 - 用户如何轻松地区分图像中的相似颜色。

DisplayMode – 控件是否允许用户输入(编辑)、仅显示数据(视图)或已禁用(已禁用)。

FocusedBorderColor – 当控件聚焦时控件边框的颜色。

FocusedBorderThickness – 当控件聚焦时控件边框的粗细。

高度 – 控件的上边缘和下边缘之间的距离。

OnSelect – 当用户点击或单击控件时要执行的作。

TabIndex – 键盘导航顺序与其他控件相比。

工具提示 – 当用户将鼠标悬停在控件上时出现的解释性文本。

可见 – 控件是显示还是隐藏。

宽度 – 控件的左边缘和右边缘之间的距离。

X – 控件的左边缘与其父容器或屏幕的左边缘之间的距离。

Y – 控件的上边缘与父容器或屏幕的上边缘之间的距离。

例子

对于这些示例,需要使用带相机的设备。 若要测试应用,请使用可从浏览器访问的 Web cam。 或者通过保存应用并将其加载到带有相机的 iOS 或 Android 设备。

捕获图片的简单显示

  1. 添加相机控件。

  2. 授权应用在出现提示时使用设备的相机。

  3. 添加 Image 控件。

  4. Image 控件的 Image 属性设置为以下公式:

    Camera1.Photo
    

    注释

    根据需要替换相机控件名称 Camera1

  5. 按 F5 预览应用。

  6. 通过选择或点击相机控件拍摄照片。 应在图像控件中看到结果。

  1. 添加 相机 控件,将其命名为 MyCamera,并将其 OnSelect 属性设置为以下公式:

    Collect( MyPix, MyCamera.Photo )
    

    更多信息,请参阅:

  2. 按 F5,然后通过选择或点击 MyCamera 拍摄照片。

  3. 添加 垂直库 控件。 然后调整其 图像 控件、其模板和 图像库 控件本身的大小以适应屏幕。

  4. Image 库控件的 Items 属性设置为以下公式:

    MyPix
    
  5. 将库中 Image 控件的 Image 属性设置为以下公式:

    ThisItem.Url
    

    拍摄的照片将显示在 图像库 控件中。

  6. 根据需要拍摄任意数量的图片,然后按 Esc 返回到默认工作区。

  7. (可选)将 Image 库控件中 Image 控件的 OnSelect 属性设置为公式:

    Remove( MyPix, ThisItem )
    
  8. 按 F5,然后选择图片将其删除。

使用 SaveData 函数在本地保存图片或 Patch 函数更新数据源。

从下拉列表中更改活动相机

  1. 添加相机控件。

  2. 授权应用在出现提示时使用设备的相机。

  3. 添加下拉列表控件。

  4. 将下拉列表的 Items 属性设置为:

    Camera1.AvailableDevices
    

    注释

    根据需要替换相机控件名称 Camera1

  5. 将相机的 Camera 属性设置为:

    Dropdown1.Selected.Id
    

    注释

    根据需要替换下拉列表控件名称 下拉列表 1

  6. 按 F5,然后从下拉列表中选择一个项目以更改相机。

辅助功能指南

相机控件显示相机源,还充当拍摄照片的按钮。 因此,与按钮类似的辅助功能注意事项。

视频替代项

请考虑为有视觉障碍的用户添加另一种输入形式。 例如, 添加图片 以允许用户从其设备上传图像。

颜色对比度

FocusedBorderColor 与外部颜色之间必须有足够的颜色对比度。

屏幕阅读器支持

AccessibleLabel 必须存在。

键盘支持

另请参阅

Power Apps 中控件的限制