Controle Câmera no Power Apps

Um controle que permite aos usuários tirar fotos usando a câmera de um dispositivo.

Descrição

Use o controle Câmera para capturar imagens com a câmera de um dispositivo. O dispositivo deve ter uma câmera e o usuário precisa autorizar o aplicativo a usar a câmera.

Selecione o controle de câmera para capturar uma imagem da câmera.

A imagem capturada mais recentemente estará disponível na propriedade Photo. Com essa propriedade, as imagens podem ser:

  • Exibidas com o controle Imagem. Use o controle Imagem para exibir a imagem capturada. Para obter mais informações, consulte os exemplos.
  • Colocar temporariamente uma variável ou uma coleção. Use as funções Set ou Collect para armazenar imagens em uma variável ou coleção. Tenha cuidado ao usar várias imagens em uma coleção ao mesmo tempo, pois isso consome a memória limitada do dispositivo. Use as funções SaveData e LoadData para mover imagens para o armazenamento local no dispositivo e para cenários offline.
  • Armazenados em um banco de dados. Use a função Patch para armazenar imagens em um banco de dados.
  • Transmitido como uma cadeia de caracteres de texto codificada em base64. Use a função JSON para codificar imagens em base64.

Use as propriedades Stream, StreamRate e OnStream para capturar imagens automaticamente em um timer; por exemplo, tirar uma foto a cada minuto para criar uma sequência de lapso de tempo.

A mídia capturada é referenciada por uma URI de cadeia de caracteres de texto. Para obter mais informações, leia a documentação do tipo de dados.

Observação

  • O controle Câmera tem suporte apenas nos navegadores Microsoft Edge, Chrome, Firefox e Opera; e em dispositivos Android e iOS. Todos os outros navegadores e plataformas mostrarão um aviso de que alguns recursos do aplicativo não funcionarão.
  • As imagens geradas pelo controle Câmera têm resolução máxima de 640 x 480 px. Se precisar de imagens com resolução completa, use o controle Adicionar imagem.
  • Dependendo da marca e do modelo do seu dispositivo móvel, a câmera pode levar alguns segundos para inicializar ao usar o controle Câmera.

Limitações

O controle de câmera tem estas limitações:

  1. Quando você usa o controle de câmera, a imagem não contém informações de metadados. Isso ocorre devido a uma limitação de como tiramos imagens com a câmera. Para atenuar esse problema, use o Adicionar controle de imagem
  2. Se o dispositivo móvel estiver com pouca memória, a câmera será temporariamente desabilitada para evitar o travamento dele.
  3. O Power Apps para Windows poderá falhar se você abrir um aplicativo que usa um controle de câmera. Para evitar esse problema, use o player da Web na plataforma Windows. Além disso, não há suporte para várias câmeras.

Principais propriedades

AvailableDevices – tabela das câmeras disponíveis no dispositivo.

A tabela contém duas colunas:

  • Número de Id a ser usado com a propriedade Camera
  • Nome fornecido pelo dispositivo para identificar a câmera. Algumas plataformas podem incluir Frontal ou Traseira para ajudar a localizar a câmera.

Observação: nem todos os dispositivos da tabela podem ser utilizados no seu aplicativo. Alguns podem ser drivers ou aplicativos especializados destinados a fins específicos.

Camera – a ID numérica da câmera a ser usada. Útil em dispositivos com mais de uma câmera.

OnStream - Ações a serem executadas quando a propriedade Stream é atualizada.

Photo – a imagem capturada quando o usuário faz uma foto.

Stream – imagem atualizada automaticamente com base na propriedade StreamRate.

StreamRate – a frequência para atualizar a imagem na propriedade Stream, em milissegundos. Esse valor pode variar de 100 (1/10 de segundo) a 3.600.000 (1 hora).

Propriedades adicionais

AccessibleLabel — rótulo para leitores de tela. Deve descrever a finalidade de tirar uma foto.

BorderColor – a cor da borda do controle.

BorderStyle – se a borda do controle é Sólida, Tracejada, Pontilhada ou Nenhuma.

BorderThickness – a espessura da borda do controle.

Brightness – quanta luz provavelmente o usuário perceberá em uma imagem.

Contrast – como o usuário pode distinguir facilmente as cores semelhantes em uma imagem.

DisplayMode – se o controle permite a entrada do usuário (Editar), apenas exibe dados (Exibir) ou está desabilitado (Desabilitado).

FocusedBorderColor – a cor da borda do controle quando ele está focalizado.

FocusedBorderThickness – A espessura da borda de um controle quando ele está focalizado.

Height – a distância entre a parte superior do controle e as bordas inferiores.

OnSelect – ações a serem executadas quando o usuário tocar ou clicar em um controle.

TabIndex – ordem de navegação do teclado comparada a outros controles.

Tooltip – texto explicativo exibido quando o usuário passa o mouse sobre um controle.

Visible – se um controle é exibido ou está oculto.

Width – a distância entre as bordas esquerda e direita de um controle.

X – a distância entre a borda esquerda de um controle e a borda esquerda da respectiva tela ou contêiner pai.

Y – a distância entre a borda superior de um controle e a borda superior da tela ou contêiner pai.

Exemplos

Para estes exemplos, você precisará de um dispositivo com uma câmera. Para testar seu aplicativo, use uma webcam acessível no seu navegador. Ou salve seu aplicativo e carregue-o em um dispositivo iOS ou Android com uma câmera.

Exibição simples de uma imagem capturada

  1. Adicione um controle Câmera.

  2. Autorize o aplicativo a usar a câmera do dispositivo, se solicitado.

  3. Adicione um controle Imagem.

  4. Defina a propriedade Image do controle Imagem com a seguinte fórmula:

    Camera1.Photo
    

    Observação

    Substitua o nome do controle Câmera Camera1 conforme apropriado.

  5. Pressione F5 para visualizar seu aplicativo.

  6. Tire uma foto selecionando ou tocando no controle da câmera. Você deve ver o resultado no seu controle de imagem.

  1. Adicione um controle Câmera, chame-o de MyCamera e defina sua propriedade OnSelect como esta fórmula:

    Collect( MyPix, MyCamera.Photo )
    

    Para obter mais informações:

  2. Pressione F5 e, em seguida, tire uma foto selecionando ou tocando em MyCamera.

  3. Adicione um controle Galeria vertical. Em seguida, redimensione seu controle Imagem, seu modelo e o próprio controle Galeria de imagens para caber na tela.

  4. Defina a propriedade Items do controle Galeria de imagens como esta fórmula:

    MyPix
    
  5. Defina a propriedade Image do controle Imagem na galeria como esta fórmula:

    ThisItem.Url
    

    A foto que você tirou aparece no controle Galeria de imagens.

  6. Tire quantas fotos quiser e então volte para o espaço de trabalho padrão ao pressionar Esc.

  7. (opcional) Defina a propriedade OnSelect do controle Imagem na Galeria de imagens como esta fórmula:

    Remove( MyPix, ThisItem )
    
  8. Pressione F5 e selecione uma imagem para removê-la.

Use a função SaveData para salvar as imagens localmente, ou a função Patch para atualizar uma fonte de dados.

Alterar a câmera ativa a partir de uma lista suspensa

  1. Adicione um controle Câmera.

  2. Autorize o aplicativo a usar a câmera do dispositivo, se solicitado.

  3. Adicione um controle Lista suspensa.

  4. Defina a propriedade Items da lista suspensa como:

    Camera1.AvailableDevices
    

    Observação

    Substitua o nome do controle Câmera Camera1 conforme apropriado.

  5. Defina a propriedade Camera da câmera como:

    Dropdown1.Selected.Id
    

    Observação

    Substitua o nome do controle de lista suspensa Camera1 conforme apropriado.

  6. Pressione F5 e selecione um item no menu suspenso para alterar a câmera.

Diretrizes de acessibilidade

O controle Câmera mostra o feed da câmera e também funciona como um botão que tira fotos. Dessa forma, há considerações de acessibilidade semelhantes, como com botões.

Alternativas de vídeo

Pense em adicionar uma forma alternativa de entrada para os usuários com deficiências visuais. Por exemplo, Adicionar imagem para permitir que os usuários carreguem uma imagem do seu dispositivo.

Contraste de cores

Deve haver contraste de cores adequado entre FocusedBorderColor e a cor externa.

Suporte ao leitor de tela

AccessibleLabel precisa estar presente.

Suporte de teclado

  • TabIndex deve ser zero ou maior para que os usuários de teclado possam navegar para ela.

  • Os indicadores de foco precisam ser evidentes. Use FocusedBorderColor e FocusedBorderThickness para atualizar a visibilidade dos indicadores de foco.

Confira também

Limitações de controles no Power Apps

Observação

Você pode nos falar mais sobre suas preferências de idioma para documentação? Faça uma pesquisa rápida. (Observe que esta pesquisa está em inglês)

A pesquisa levará cerca de sete minutos. Nenhum dado pessoal é coletado (política de privacidade).