Controllo Fotocamera in Power Apps

Un controllo che consente agli utenti di scattare foto utilizzando la fotocamera su un dispositivo.

Descrizione

Usa il controllo Fotocamera per acquisire immagini con la fotocamera di un dispositivo. Il dispositivo deve avere una fotocamera e l'utente deve autorizzare l'app a utilizzare la fotocamera.

L'immagine acquisita più di recente è disponibile tramite la proprietà Photo. Con questa proprietà, le immagini possono essere:

  • Visualizzate con il controllo Immagine. Usa il controllo Immagine per visualizzare l'immagine acquisita. Per ulteriori informazioni, vedi gli esempi.
  • Inserite temporaneamente una variabile o una raccolta. Usa le funzioni Set o Collect per memorizzare le immagini in una variabile o in una raccolta. Presta attenzione quando utilizzi più immagini in una raccolta che possono contemporaneamente consumare la memoria limitata del dispositivo. Usa le funzioni SaveData e LoadData per spostare le immagini nella memoria locale sul dispositivo e per scenari offline.
  • Archiviate in un database. Usa la funzione Patch per memorizzare le immagini in un database.
  • Trasmesse come stringa di testo codificata base64. Usa la funzione JSON per codificare le immagini base64.

Usa le proprietà Stream, StreamRate e OnStream per acquisire automaticamente immagini su un timer, ad esempio scattare una foto ogni minuto per creare una sequenza time-lapse.

Il supporto acquisito fa riferimento a un URI di stringa di testo. Per ulteriori informazioni, leggi la documentazione sui tipi di dati.

Le immagini generate dal controllo Fotocamera non sono di solito nella risoluzione completa della fotocamera. Se sono necessarie immagini a risoluzione completa, usa il controllo Aggiungi immagine.

Nota

Il controllo Fotocamera è supportato solo in Microsoft Edge basato su browser Chrome, Firefox e Opera e nei dispositivi Android e iOS. Tutti gli altri browser e piattaforme mostreranno un avviso che alcune funzionalità dell'app non funzionano.

Proprietà chiave

AvailableDevices: tabella delle fotocamere disponibili sul dispositivo.

La tabella contiene due colonne:

  • ID numerico da utilizzare con la proprietà Camera
  • Name fornito dal dispositivo per identificare la fotocamera. Alcune piattaforme potrebbero includere Front o Back per aiutare a individuare la fotocamera.

Nota: è possibile che non tutti i dispositivi nella tabella siano utilizzabili nella tua app. Alcuni possono essere driver specializzati o applicazioni destinate a scopi specifici.

Camera: ID numerico della fotocamera da utilizzare. Utile su dispositivi con più di una fotocamera.

OnStream: risposta dell'app quando la proprietà Stream viene aggiornata.

Photo: immagine acquisita dall'utente.

Stream: aggiorna automaticamente l'immagine in base alla proprietà StreamRate.

StreamRate: frequenza con cui aggiornare l'immagine della proprietà Stream, in millisecondi. Questo valore va da 100 (un decimo di secondo) a 3.600.000 (un'ora).

Proprietà aggiuntive

AccessibleLabel: etichetta per le utilità per la lettura dello schermo. Deve descrivere lo scopo dello scatto di una foto.

BorderColor: colore del bordo di un controllo.

BorderStyle: indica se il bordo di un controllo è Solid (Tinta unita), Dashed (Tratteggiato), Dotted (Punteggiato) o None (Nessuno).

BorderThickness: spessore del bordo di un controllo.

Brightness: luminosità potenzialmente percepita da un utente in un'immagine.

Contrast: indica quanto facilmente l'utente può distinguere colori simili in un'immagine.

DisplayMode: indica se il controllo consente l'input dell'utente (Edit), visualizza solo i dati (View) o è disabilitato (Disabled).

FocusedBorderColor: colore del bordo di un controllo quando è evidenziato.

FocusedBorderThickness: spessore del bordo di un controllo quando è evidenziato.

Height: distanza tra i bordi superiore e inferiore del controllo.

OnSelect: risposta dell'app quando l'utente tocca o fa clic su un controllo.

TabIndex: ordine di spostamento tramite tastiera rispetto ad altri controlli.

Tooltip: testo descrittivo visualizzato quando l'utente posiziona il mouse su un controllo.

Visible: indica se un controllo viene visualizzato o è nascosto.

Width: distanza tra i bordi sinistro e destro di un controllo.

X: distanza tra il bordo sinistro del controllo e il bordo sinistro del contenitore padre o della schermata.

Y: distanza tra il bordo superiore del controllo e il bordo superiore del contenitore padre o della schermata.

Esempi

Per questi esempi, avrai bisogno di un dispositivo con una fotocamera. Per testare la tua app, usa una webcam accessibile dal tuo browser. Oppure salva la tua app e caricala in un dispositivo iOS o Android con una fotocamera.

Visualizzazione semplice di un'immagine catturata

  1. Aggiungi un controllo Fotocamera.

  2. Autorizza l'app a utilizzare la fotocamera del dispositivo, se richiesto.

  3. Aggiungi un controllo Immagine.

  4. Imposta la proprietà Image del controllo Immagine sulla formula seguente:

    Camera1.Photo
    

    Nota

    Sostituisci il nome del controllo fotocamera Camera1 come appropriato.

  5. Premi F5 per visualizzare l'anteprima dell'app.

  6. Scatta una foto selezionando o toccando il controllo fotocamera. Dovresti vedere il risultato nel controllo immagine.

  1. Aggiungi un controllo Fotocamera, denominarlo MyCamera e impostane la proprietà OnSelect sulla formula seguente:

    Collect( MyPix, MyCamera.Photo )
    

    Per ulteriori informazioni:

  2. Premi F5 e scatta una foto toccando o facendo clic su MyCamera.

  3. Aggiungi un controllo Raccolta verticale. Quindi, ridimensionane il controllo Immagine e il modello, quindi ridimensiona lo stesso controllo Raccolta immagini per adattarlo allo schermo.

  4. Imposta la proprietà Items del controllo Raccolta immagini su questa formula:

    MyPix
    
  5. Imposta la proprietà Image del controllo Immagine su questa formula:

    ThisItem.Url
    

    L'immagine acquisita verrà visualizzata nel controllo Raccolta immagini.

  6. Acquisisci tutte le immagini desiderate e quindi premi ESC per tornare all'area di lavoro predefinita.

  7. (Facoltativo) Imposta la proprietà OnSelect del controllo Immagine nel controllo Raccolta immagini sulla formula:

    Remove( MyPix, ThisItem )
    
  8. Premi F5 e seleziona un'immagine da rimuovere.

Usa la funzione SaveData per salvare le immagini in locale o la funzione Patch per aggiornare un'origine dati.

Cambiare la fotocamera attiva da un menu a discesa

  1. Aggiungi un controllo Fotocamera.

  2. Autorizza l'app a utilizzare la fotocamera del dispositivo, se richiesto.

  3. Aggiungi un controllo A discesa.

  4. Impostare la proprietà Items dell'elenco a discesa su:

    Camera1.AvailableDevices
    

    Nota

    Sostituisci il nome del controllo fotocamera Camera1 come appropriato.

  5. Imposta la proprietà Camera della fotocamera su:

    Dropdown1.Selected.Id
    

    Nota

    Sostituisci il nome del controllo elemento a discesa Dropdown1 come appropriato.

  6. Premi F5, quindi seleziona un elemento dal menu a discesa per cambiare la fotocamera.

Linee guida per l'accessibilità

Il controllo fotocamera mostra il feed della fotocamera e funge anche da pulsante per scattare una foto. Pertanto, le considerazioni sull'accessibilità sono simili a quelle per i pulsanti.

Alternative per video

È consigliabile aggiungere un tipo di input alternativo per gli utenti con particolari esigenze di visualizzazione. Ad esempio, Aggiungi immagine per consentire agli utenti di caricare un'immagine dal proprio dispositivo.

Contrasto dei colori

È necessario un contrasto cromatico adeguato tra FocusedBorderColor e il colore esterno.

Supporto lettore schermo

AccessibleLabel deve essere presente.

Supporto per la tastiera

  • Il valore di TabIndex deve essere uguale o superiore a zero, in modo che gli utenti della tastiera possano passare a questo controllo.

  • Gli indicatori di attivazione devono essere chiaramente visibili. Usa FocusedBorderColor e FocusedBorderThickness per aggiornare la visibilità degli indicatori di attivazione.