Tirar uma foto e arquivar o ficheiro com Power Apps
Neste novo artigo, vamos utilizar a integração do Power Apps com o Power Automate para ligar a aplicação ao OneDrive e armazenar a imagem capturada numa pasta. Vamos lá?
Uma das melhores potencialidades que podemos ter quando utilizamos uma aplicação é registar uma captura em arquivo e o Power Apps, no desenvolvimento de aplicações para ecrã (Canvas Apps) fornece-nos controlos que permite utilizar esse tipo de interação com a aplicação com bastante facilidade.
Não percas aqui o cenário de exemplo que partilho contigo, assim como o processo passo a passo. Se tiveres alguma dúvida, envia-nos a uma mensagem... ficamos à tua espera!
Iniciar a aplicação
Para iniciarmos a aplicação vamos aceder ao endereço make.powerapps.com e acedemos ao menu lateral à opção Criar.
Vamos criar uma aplicação de raiz, começando com uma tela em branco.
De seguida escolhemos o tipo de aplicação que vamos criar, neste caso uma aplicação baseada em ecrã, Aplicação de Tela [Canvas App].
Neste cenário específico vou optar pelo layout de telemóvel, pois para capturar uma foto podemos utilizar o potencial da camara do nosso telemóvel o dispositivo para armazenar o ficheiro. Assim definimos o nome da aplicação o formato do ecrã e estamos prontos a iniciar!
Definir os controlos que vamos necessitar
Vamos começar por colocar todos os controlos que vamos necessitar para a nossa aplicação. Começamos por um retângulo, que representa o cabeçalho ou o Header da nossa aplicação.
De seguida inserimos uma etiqueta de texto para identificar o nosso ecrã. E colocamos o texto respetivo.
Depois inserimos o controlo de Câmara, que se enquadra nos controlos de Multimédia…
E uma Lista Pendente [DropBox] que nos vai permitir selecionar a câmara adequada no dispositivo.
Continuamos com a inserçao de um controlo de Imagem, que irá guardar a imagem capturada pela câmara.
Acrescentamos de seguida uma Caixa de Texto [Text Input] para podermos dar um nome ao ficheiro que vamos guardar.
E por fim um botão que quando ativo, vai correr o fluxo e guardar o ficheiro numa pasta do OneDrive.
Configurar os controlos
Depois de todos os controlos adicionados, necessitamos de fazer algumas configurações aos mesmos. Começando pela Lista Pendente [Drop Box] configuramos a propriedade Items para indicar quais são os itens de escolha na lista pendente. Neste caso acedemos a uma propriedade do controlo da Câmara que é a propriedade AvailableDevices que nos mostra as câmaras disponíveis de acordo com o dispositivo onde estamos. CameraCapturar.AvailableDevices (onde o nome CameraCapturar é o nome que dei ao nosso controlo)
A seguir vamos configurar o controlo de Imagem, onde na propriedade Image, acedemos mais uma vez a uma propriedade do controlo de câmara, neste caso da propriedade Photo: CameraCapturar.Photo (onde o nome CameraCapturar é o nome que dei ao nosso controlo).
Agora vamos configurar a caixa de texto. Aqui apenas temos de retirar o texto da propriedade Default e colocar um texto na propriedade HintText. Este texto basicamente indica para a necessidade do texto que devemos colocar.
Para configurarmos o botão iremos ter mais propriedades. Em primeiro lugar vamos alterar a propriedade DisplayMode, que representa a forma como o botão é apresentado. Aqui vamos definir uma lógica parecida com uma validação de dados: Se houver texto na caixa de texto, o botão está disponível, caso contrário estará indisponível.
A formula aplicada nesta propriedade (DisplayMode) será então a seguinte:
If( IsBlank(txtNomeFicheiro.Text); DisplayMode.Disabled; DisplayMode.Edit)
Capturar a Foto
Para capturar a foto, em modo de teste (Com a tecla ALT) basta efetuar um clique sobre o controlo da câmara. Neste caso imediatamente no controlo de imagem aparece a nossa captura.
Automatizar o fluxo para guardar a imagem
Para automatizarmos o fluxo que vai guardar a imagem no OneDrive, vamos utilizar o Power Automate que neste caso pode ser acedido diretamente através do nosso ecrã de desenvolvimento do Power Apps.
Começamos por criar um fluxo…
Onde neste caso o gatilho do fluxo (Trigger) já está identificado – Power Apps (V2). Nesta nova versão (V2) devemos definir os inputs necessários para interagir com a aplicação.
Neste caso vou definir apenas 2 inputs, um para o ficheiro (Imagem) e outro para o nome dado ao ficheiro. Em primeiro lugar o input para um Ficheiro [File], que será para a imagem.
E de seguida um Input do tipo Texto para colocar o nome do ficheiro.
De seguida acrescentamos um Novo Passo para aceder ao OneDrive onde vamos escolher a opção de criar um ficheiro.
Neste novo passo indicamos o caminho onde a imagem será guardada e adicionamos os inputs que virão da nossa aplicação respetivamente: Imagem e Nome.
Uma nota importante no parâmetro do conteúdo do ficheiro: contentBytes. Este input será importante para converter a nossa imagem no ficheiro arquivado.
Depois de definido o fluxo, vamos dar um nome e gravar!
Executar o fluxo
Para executarmos o fluxo, basta invocá-lo diretamente pelo Power Apps, neste caso vamos utilizar o botão e a propriedade OnSelect para quando pressionamos o mesmo, o fluxo ser executado.
ArmazenarImagem.Run( txtNomeFicheiro.Text; { file: { contentBytes: imgCapturada.Image; name: txtNomeFicheiro.Text } } )
Para guardar a foto, temos de colocar um nome para o ficheiro e pressionar o botão. Desta forma o fluxo será acionado e a imagem guardada na pasta definida por nós no OneDrive.
Outros conteúdos relevantes:
Conhece as 4 novas funções para “moldar” Arrays no Excel!
Neste vídeo vais aprender tudo o que necessitas sobre as 4 das novas funções disponíveis no Microsoft Excel, que foram recentemente lançadas e já estão disponíveis para os subscritores com o Office 365. Vamos lá?
Microsoft Excel: Criar um dashboard com a função IMAGEM
Neste vídeo vais aprender a criar um dashboard com as funções de Arrays Dinâmicos, para apresentar uma IMAGEM em função de um valor selecionado, no Microsoft Excel. Vamos lá?