Compartilhar via


Controle de câmera no Power Apps

Um controle que permite que os usuários tirem fotos usando a câmera em um dispositivo.

Description

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 deve autorizar o aplicativo a usar a câmera.

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

A imagem capturada mais recentemente está disponível por meio da propriedade Photo . Com essa propriedade, as imagens podem ser:

  • Exibido com o controle Imagem. Use o controle Imagem para exibir a imagem capturada. Para obter mais informações, consulte os exemplos.
  • Coloque temporariamente uma variável ou uma coleção. Use as funções Definir ou Coletar para armazenar imagens em uma variável ou coleção. Tenha cuidado ao usar várias imagens em uma coleção ao mesmo tempo que 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.
  • Armazenado 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 de base64.

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

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

Observação

  • O controle de câmera só tem suporte nos navegadores Microsoft Edge, Chrome, Firefox e Opera; e 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 de câmera têm uma resolução máxima de 640 x 480 px. Se você precisar de imagens de resolução completa, use o controle Adicionar imagem .
  • Dependendo da criação e do modelo do seu dispositivo móvel, a câmera do dispositivo pode levar alguns segundos para ser inicializada ao usar o controle da 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 fazemos imagens com a câmera. Para atenuar esse problema, use o controle Adicionar imagem
  2. Se o dispositivo móvel estiver com pouca memória, a câmera será temporariamente desabilitada para evitar a falha do dispositivo.
  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 Front ou Back para ajudar a localizar a câmera.

Observação: nem todos os dispositivos na tabela podem ser utilizáveis em seu aplicativo. Alguns podem ser drivers especializados ou aplicativos destinados a fins específicos.

Câmera – 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 for atualizada.

Foto – A imagem capturada quando o usuário tira uma foto.

Stream – imagem atualizada automaticamente com base na propriedade StreamRate .

StreamRate – com que frequência 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 de um controle.

BorderStyle – se a borda de um controle é Solid, Dashed, Dotted ou None.

BorderThickness – A espessura da borda de um controle.

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

Contraste – quão facilmente o usuário pode distinguir entre cores semelhantes em uma imagem.

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

FocusedBorderColor – A cor da borda de um controle quando o controle está focado.

FocusedBorderThickness – A espessura da borda de um controle quando o controle está focado.

Altura – a distância entre as bordas superior e inferior de um controle.

OnSelect – Ações a serem executadas quando o usuário toca ou clica em um controle.

TabIndex – Ordem de navegação do teclado em comparação com outros controles.

Dica de ferramenta – texto explicativo exibido quando o usuário passa o mouse sobre um controle.

Visível – se um controle aparece ou está oculto.

Largura – 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 de seu contêiner ou tela pai.

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

Exemplos

Para esses exemplos, você precisará de um dispositivo com uma câmera. Para testar seu aplicativo, use uma web cam acessível do navegador. Ou salvando seu aplicativo e carregando-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 Image.

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

    Camera1.Photo
    

    Observação

    Substitua o nome do controle da 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ê deverá ver o resultado em seu controle de imagem.

  1. Adicione um controle camera , nomeie-o 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 de galeria vertical . Em seguida, redimensione seu controle de imagem , seu modelo e o próprio controle da galeria de imagens para caber na tela.

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

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

    ThisItem.Url
    

    A imagem que você tirou aparece no controle da galeria de imagens .

  6. Tire quantas fotos desejar e retorne ao workspace padrão pressionando Esc.

  7. (opcional) Defina a propriedade OnSelect do controle Image no controle da galeria de imagens como a 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 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 suspenso .

  4. Defina a propriedade Items da lista suspensa como:

    Camera1.AvailableDevices
    

    Observação

    Substitua o nome do controle da câmera Camera1 conforme apropriado.

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

    Dropdown1.Selected.Id
    

    Observação

    Substitua o nome do controle suspenso Dropdown1 conforme apropriado.

  6. Pressione F5 e selecione um item na lista suspensa para alterar a câmera.

Diretrizes de acessibilidade

O controle da câmera mostra o feed da câmera e também funciona como um botão que tira uma foto. Portanto, há considerações de acessibilidade semelhantes às dos botões.

Alternativas de vídeo

Considere adicionar uma forma alternativa de entrada para usuários com deficiência visual. Por exemplo, adicione imagem para permitir que os usuários carreguem uma imagem de seu dispositivo.

Contraste de cores

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

Suporte ao leitor de tela

AccessibleLabel deve estar presente.

Suporte ao teclado

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

  • Indicadores de foco devem estar claramente visíveis. Use FocusedBorderColor e FocusedBorderThickness para atualizar a visibilidade dos indicadores de foco.

Consulte também

Limitações de controles no Power Apps