Power Apps 中的相机控件

一种控件,使用户可以使用设备上的相机进行拍照。

描述

使用 相机 控件可使用设备的相机捕获图片。 该设备必须有相机,并且用户必须授权应用使用相机。

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

  • 使用图像控件查看。 使用 Image 控件查看捕获的图像。 有关详细信息,请参阅示例
  • 临时放置在变量或集合中。 使用 SetCollect 函数将图像存储在变量或集合中。 在设备的内存有限的情况下,请谨慎使用集合中的多个图像。 使用 SaveDataLoadData 函数将图像移至设备上的本地存储,用于脱机场景
  • 存储在数据库中。 使用 Patch 函数将图像存储在数据库中。
  • 作为 base64 编码的文本字符串传输。 使用 JSON 函数对图像进行 base64 编码。

使用 StreamStreamRateOnStream 属性可自动捕获计时器上的图像,例如,每分钟拍摄一张图片来创建延时序列。

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

相机控件生成的图像通常无法达到相机的全分辨率。 如果需要全分辨率图像,请使用 Add picture 控件。

备注

仅 Microsoft Edge、Chrome、Firefox 和 Opera 浏览器;以及 Android 和 iOS 设备支持相机控件。 所有其他浏览器和平台将显示警告,提示应用的某些功能无法使用。

关键属性

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

表包含两列:

  • 要与 Camera 属性一起使用的 Id 编号
  • 设备提供的用于标识相机的 名称。 有些平台可能包括 正面背面 以帮助定位相机。

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

Camera – 要使用的相机的数字 ID。 对于有多个相机的设备很有用。

OnStream - 当更新 Stream 属性时要执行的操作。

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

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

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

其他属性

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

BorderColor – 控件边框的颜色。

BorderStyle – 控件边框是 SolidDashedDotted 还是 None

BorderThickness – 控件边框的粗细。

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

Contrast – 用户可区分图像中相似颜色的轻松程度。

DisplayMode – 此控件是允许用户输入 (Edit)、仅显示数据 (View),还是已禁用 (Disabled)。

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

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

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

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

TabIndex – 相对于其他控件的键盘导航顺序。

Tooltip – 用户将鼠标悬停在控件上时显示的解释性文本。

Visible – 控件显示还是隐藏。

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

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

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

示例

对于这些示例,您需要一台有相机的设备。 要测试您的应用,请使用可从浏览器访问的网络摄像头。 或者保存您的应用并将其加载到带相机的 iOS 或 Android 设备中。

简单显示捕获的图片

  1. 添加一个 相机 控件。

  2. 如果出现提示,授权应用使用设备的相机。

  3. 添加 Image 控件。

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

    Camera1.Photo
    

    备注

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

  5. 按 F5 预览应用。

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

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

    Collect( MyPix, MyCamera.Photo )
    

    更多信息,请访问:

  2. 按 F5,然后选择或点击 MyCamera 进行拍照。

  3. 添加 Vertical gallery 控件。 然后调整其 Image 控件、模板以及 图像库 控件本身的大小,以适应屏幕大小。

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

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

    ThisItem.Url
    

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

  6. 拍摄所需数量的图片,然后按 Esc 返回默认工作区。

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

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

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

从下拉列表更改活动相机

  1. 添加一个 相机 控件。

  2. 如果出现提示,授权应用使用设备的相机。

  3. 添加一个 Drop down 控件。

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

    Camera1.AvailableDevices
    

    备注

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

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

    Dropdown1.Selected.Id
    

    备注

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

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

辅助功能准则

相机控件显示相机源,也用作拍摄照片的按钮。 因此,要考虑与按钮相类似的辅助功能注意事项。

视频替代项

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

颜色对比度

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

屏幕阅读器支持

AccessibleLabel 必须存在。

键盘支持

另请参阅

Power Apps 中的控件限制