Del via


Ta og last opp bilder i blandet virkelighet

I denne artikkelen skal vi opprette en app som kan ta bilder i en økt med blandet virkelighet og laste dem opp til en mappe på OneDrive. Vi skal bruke kontrollen Vis i blandet virkelighet i dette eksemplet, med kontrollene Vis form i blandet virkelighet og Målekamera hadde også fungert.

Vi skal dekke følgende oppgaver:

  • Legge til kontrollen 3D-objekt i en visning og manipulere et 3D-eksempelobjekt
  • koble kontrollen 3D-objekt til kontrollen Vis i blandet virkelighet for å vise 3D-objektet i den virkelige verden
  • legge til en gallerikontroll for å vise bilder som er tatt med kontrollen Vis i blandet virkelighet
  • laste opp bildene til OneDrive med en Microsoft Power Automate-flyt
  • Laste opp bilder tatt i blandet virkelighet til Dataverse

Forutsetning

  • Opprett en tom lerretsapp.
  • Opprett en mappe kalt MRPhotos på OneDrive. Du skal bruke denne mappen til å lagre de opplastede bildene.

Tips

Kontrollene for blandet virkelighet fungerer best i godt belyste miljøer med overflater med flat tekstur. Sporing er bedre på LIDAR-aktiverte enheter.

Legg til en knapp for å ta et bilde av et 3D-objekt i blandet virkelighet

Dette eksemplet har tre deler. Først skal vi legge til en knapp som gjør at brukerne kan ta et bilde av et 3D-objekt i blandet opplevelse.

Sette inn en 3D-objekt-kontroll

Gjør følgende med appen åpen for redigering i Power Apps Studio:

  1. Åpne Sett inn-fanen, og utvid Medier.

  2. Velg 3D object for å plassere et 3D-objekt på appskjermen. Dra kontrollen til skjermen for å plassere den mer nøyaktig.

    Kontrollen leveres med en gjennomsiktig kubeform. Hvis du vil, kan du endre egenskapen Kilde for kontrollen for å laste inn en annen 3D-modell. I dette eksemplet skal vi bruke nettadressen https://raw.githubusercontent.com/microsoft/experimental-pcf-control-assets/master/robot_arm.glb.

    Et skjermbilde av kontrollen 3D-objekt som er under bygging i Microsoft Power Apps Studio, og vises med egenskapen Source.

Sett inn og koble til kontrollen Vis i blandet virkelighet

  1. Åpne Sett inn-fanen, og utvid Blandet virkelighet.

  2. Velg Vis i blandet virkelighet for å plassere kontrollen på appskjermen, eller dra kontrollen til skjermen for å plassere den mer nøyaktig.

  3. Endre egenskapen Kilde for kontrollen til 3DObject1.Source. (3DObject1 er navnet på kontrollen 3D-objekt vi la til tidligere.) Dette uttrykket angir at kontrollen Vis i blandet virkelighet skal legge 3D-modellen over kamerafeeden på enheten.

    Et skjermbilde av kontrollen Vis i blandet virkelighet som er under bygging i Microsoft Power Apps Studio, og vises med egenskapen Source.

  4. Lagre og publiser appen, og kjør den på mobilenheten.

  5. Velg View in MR for å vise 3D-objektet i blandet virkelighet. Velg kameraikonet for å ta et bilde i visningen for blandet virkelighet.

Vi skal deretter legge til et galleri, slik at brukere kan vise bildene de har tatt.

  1. Rediger appen på nytt. Åpne Sett inn-fanen, og plasser kontrollen Vertical gallery på skjermen.

  2. Endre egenskapen Items for kontrollen til ViewInMR1.Photos. (ViewInMR1 er navnet på kontrollen Vis i blandet virkelighet vi la til tidligere.)

  3. Du kan alternativt endre egenskapen Layout for galleriet til Image and title.

    Et skjermbilde av et loddrett galleri som er under bygging i Microsoft Power Apps Studio, og vises med egenskapene Items og Layout.

  4. Forhåndsvis appen, og velg View in MR for å generere et eksempelbilde. Galleriet fylles ut med et eksempelbilde.

    Et skjermbilde av en lerretsapp der det vises en 3D-modell og et bilde av modellen i et galleri.

Obs!

Hvis brukere går ut av visningen for blandet virkelighet for å se galleriet og deretter går inn i visningen for blandet virkelighet på nytt for å ta flere bilder, blir de tidligere bildene erstattet av de nye.

Du kan gjøre det lettere å se bildene i galleriet ved å legge til et overlegg i full størrelse som vises når brukeren velger et miniatyrbilde.

  1. Rediger appen på nytt. Åpne Sett inn-fanen, og utvid Medier.

  2. Velg Bilde for å plassere en bildekontroll på skjermen. Du kan flytte det og endre størrelsen på det alt etter hvordan du vil at det større bildet skal vises når miniatyrbildet velges.

    Et skjermbilde av en bildekontroll som er under bygging i Microsoft Power Apps Studio.

  3. Endre egenskapen for bildekontrollen som følger: | Egenskap | Verdi | | - | - | | OnSelect | UpdateContext({vVisibleImageZoom:false}) | | Image | Gallery1.Selected.Image2 (forutsatt at gallerikontrollen er Gallery1 og det første miniatyrbildet er Image2) | Visible | vVisibleImageZoom

  4. Velg det første miniatyrbildet i gallerikontrollen. Endre egenskapen OnSelect for det til UpdateContext({vVisibleImageZoom:true}).

    Et skjermbilde av et miniatyrbilde i et galleri i Microsoft Power Apps Studio som vises med egenskapen OnSelect.

  5. Lagre og publiser appen, og kjør den på mobilenheten.

  6. Velg View in MR, og velg deretter kameraikonet for å ta et bilde. Velg Tilbake-pilen øverst på skjermen for å gå ut av visningen for blandet virkelighet.

  7. Velg miniatyrbildet i galleriet for å vise en større versjon av bildet. Velg bildet for å skjule det.

Last opp bilder til OneDrive med en Power Automate-flyt

Til slutt skal vi opprette en arbeidsflyt ved hjelp av Power Automate-ruten. Arbeidsflyten laster opp bilder fra appen til en mappe kalt MRPhotos på OneDrive.

Opprett en flyt i Power Automate

  1. Rediger appen. På menyen for appredigering velger du Power Automate > Opprett ny flyt.

  2. Søk etter og velg Power Apps-knappmalen.

    Et skjermbilde av Power Automate-malsiden med Power Apps-knappmalen valgt.

  3. I vinduet Opprett flyten velger du Rediger i avansert modus.

  4. Velg Power Apps-knapp øverst i vinduet, og angi et nytt navn for flyten. I dette eksemplet skal vi kalle flyten Last opp bilde fra blandet virkelighet.

    Et skjermbilde av redigeringsvinduet i Power Automate med navnet på arbeidsflyten uthevet.

  5. Velg Power Apps-knapp øverst i vinduet, og angi et nytt navn for flyten. I dette eksemplet skal vi kalle flyten Last opp bilde fra blandet virkelighet.

    Et skjermbilde av redigeringsvinduet i Power Automate med PowerApps-trinnet valgt for sletting.

  6. Søk etter PowerApps (V2) og velg utløseren PowerApps (V2).

    Et skjermbilde av redigeringsvinduet i Power Automate med utløseren PowerApps (v2) valgt.

  7. Velg Legg til inndata, og velg deretter Fil.

  8. Endre etiketten Filinnhold til Bilde.

    Et skjermbilde av redigeringsvinduet i Power Automate med etiketten Filinndata endret til Bilde.

  9. Velg Nytt trinn. Søk etter OneDrive – Opprett fil, og velg handlingen Opprett fil.

    Et skjermbilde av redigeringsvinduet i Power Automate med handlingen OneDrive – Opprett fil valgt.

  10. Velg mappeikonet i Mappebane, og gå til MRPhotos-mappen du opprettet tidligere.

  11. Skriv inn @{triggerBody()?['file']?['name']} i Filnavn (Teksten endres til «file.name.»)

  12. Skriv inn @{triggerBody()['file']['contentBytes']} i Filinnhold (Teksten endres til «Bilde.»)

  13. Lagre flyten.

Den fullstendige flyten skal se slik ut:

Et skjermbilde av redigeringsvinduet i Power Automate der den fullstendige flyten vises.

Koble arbeidsflyten til en knapp i appen

  1. Gå tilbake til appen i Power Apps Studio. Flyten vises nå under Tilgjengelige flyter.

    Et skjermbilde av Data-ruten i Power Apps Studio der den nye flyten vises.

  2. Åpne Sett inn-fanen og velg Knapp. Plasser knappekontrollen på skjermen, og endre størrelsen på den etter behov.

  3. Endre egenskapen Text for knappekontrollen til Upload photos.

  4. Velg egenskapen OnSelect på formellinjen øverst i Power Apps-vinduet. Velg Handling > Power Automate > Last opp bilde fra blandet virkelighet.

    Et skjermbilde av en knappekontroll som er under bygging i Power Apps Studio, og som vises med en flyt lagt til i egenskapen OnSelect for kontrollen.

    Egenskapen OnSelect for knappekontrollen endres til UploadMRPhoto.Run(.

  5. Hvis du vil laste opp det siste bildet som er tatt, limer du inn følgende kode etter den innledende parentesen: {file:{name:GUID() & ".png", contentBytes:Last(ViewInMR1.Photos).ImageURI}})

    Et skjermbilde av egenskapen OnSelect for en knappekontroll på formellinjen i Power Apps Studio, som laster opp det siste bildet som er tatt.

    Hvis du plasserte knappekontrollen i galleriet, limer du inn følgende kode i stedet: {file: {name:GUID() & ".png", contentBytes:ThisItem.ImageURI}})

    Et skjermbilde av egenskapen OnSelect for en knappekontroll på formellinjen i Power Apps Studio, når knappen er i et galleri.

    Hvis du vil at knappen skal laste opp alle bilder som er tatt, sletter du UploadMRPhoto.Run( og limer inn følgende kode: ForAll(ViewInMR1.Photos, UploadMRPhoto.Run({file:{name:GUID() & ".png", contentBytes:ImageURI}}))

    Et skjermbilde av egenskapen OnSelect for en knappekontroll på formellinjen i Power Apps Studio, som laster opp alle bildene som er tatt.

  6. Forhåndsvis appen, velg View in MR, og velg deretter Last opp bilder. Se MRPhotos-mappen på OneDrive, og bekreft at eksempelbildet er lastet opp.

Legg til funksjon for frakoblet modus i appen

Du kan bruke appen selv når du har begrenset eller ingen nettverkstilkobling, ved hjelp av funksjonene SaveData og LoadData.

Last opp bilder tatt i blandet virkelighet til Dataverse

Du kan legge til bilder i Dataverse-tabeller via en kolonne med datatypen Bilde. Bildekolonner i Dataverse har to obligatoriske felt – Full og Verdi, som kan angis til ImageURI-utdataene for MR-kontrollene.

Hvis du for eksempel vil laste opp det første bildet som er tatt av kontrollen Påslag i blandet virkelighet, til en Dataverse-kolonne kalt Bilde:

    Image: {Full: First(MarkupInMR.Photos).ImageURI, Value: First(MarkupInMR.Photos).ImageURI}

Se også

Obs!

Kan du fortelle oss om språkinnstillingene for dokumentasjonen? Ta en kort undersøkelse. (vær oppmerksom på at denne undersøkelsen er på engelsk)

Undersøkelsen tar rundt sju minutter. Det blir ikke samlet inn noen personopplysninger (personvernerklæring).