Commençons donc par configurer cela. Ici, lancer la caméra asynchrone est la fonction que nous
appelons pour ouvrir la caméra, mais en fait, vous pouvez configurer un peu.
Si vous passez un objet ici, vous avez quelques options que vous pouvez définir et bien sûr, les documents officiels d'exposition
pour le sélecteur d'images sont l'endroit où aller pour tout savoir sur ces options.
Maintenant, les paramètres par défaut sont en fait
assez fins, mais par exemple ici, vous pouvez ajouter permet de modifier et de le définir sur true pour obtenir un éditeur de
base qui vous permet de recadrer l'image par exemple et c'est en fait quelque chose que j'activerai ici.
Vous pouvez également définir un rapport d'aspect spécifique où vous souhaitez vous connecter, comme 16: 9 qui sera
pris en compte dans votre mode d'édition.
Vous pouvez également définir si vous voulez une chaîne base64 au lieu d'un fichier ou en plus du fichier, je dois dire, ce qui signifie que vous
obtenez une chaîne de texte qui représente votre image, qui est assez grande cependant et je ne le ferai pas ici
et vous pouvez également contrôler la qualité et là, je vais mettre la qualité à 0.
5, il doit s'agir d'une valeur comprise entre 0 et 1, où l'on est la valeur la plus élevée possible, ce qui
a bien sûr également un impact sur la taille de l'image par la suite.
Vous voulez donc choisir une taille ou une qualité qui a du sens pour votre application.
Si vous utilisez uniquement l'image comme miniature, vous n'aurez peut-être pas besoin d'images de très haute résolution. Avec cela, cela est configuré et la question
est bien sûr, comment pouvons-nous accéder à l'image qui a été prise?
Souvenez-vous bien que c'est une promesse ou que cela renvoie une promesse.
Bien sûr,
nous pouvons donc attendre cette promesse et le résultat que nous obtenons après la promesse résolue est bien l'image, nous
pouvons donc simplement stocker cette image dans une constante. Une image est maintenant un objet avec diverses informations sur l'image
qui a été prise.
Donc, ici, nous pouvons consoler l'image du journal pour voir ce qui s'y trouve.
Enregistrons cela et testons-le sur Android. Là, si je vais maintenant sur
ce nouvel écran ici, je prends une image et je prends cette image avec cette caméra simulée factice, j'arrive ici et
je
le confirme, maintenant je vais à ce
recadrage ou à cet outil d'édition parce que j'ai activé l'édition, ici je avoir ce format 16: 9 que je peux
déplacer et en cliquant sur recadrer, je peux maintenant le sélectionner et si nous
regardons maintenant la console, nous voyons que c'est l'objet que nous avons récupéré.
C'est un objet avec un champ annulé qui nous dit que cela n'a pas été annulé mais que nous avons pris une image,
c'est
donc un champ que nous pouvons vérifier pour savoir si l'utilisateur a pris une image ou si le
processus a été annulé.
On obtient la hauteur de
l'image et la largeur, on obtient le type qui est image et l'URI, donc un lien vers le fichier image.
Maintenant, c'est dans un répertoire temporaire qui est nettoyé automatiquement périodiquement, donc bien sûr
ce n'est pas le stockage ou le chemin où vous voulez le stocker de façon permanente et nous le déplacerons
plus tard avec l'API du système de fichiers mais pour l'instant, c'est quelque
chose que nous peut travailler avec.
Donc, pour sortir un aperçu, nous pouvons gérer un état ici dans le sélecteur d'images en important l'état d'utilisation puis
l'initialiser là-haut, l'état d'utilisation peut être appelé ici et bien sûr, je récupère quelques
données ici et c'est mon image choisie et un définissez la fonction d'image choisie comme vous en avez
l'habitude depuis l'état d'utilisation et maintenant
nous pouvons l'utiliser ici.
Ici, je veux définir l'image sélectionnée sur l'image. uri, donc à ce lien vers mon
image, de sorte que le chemin
en tant que chaîne vers mon image et ce qui est cool, c'est que ce chemin puisse être utilisé avec le composant
image, il fonctionne avec le composant image sans aucune configuration spéciale.
Donc là, nous pouvons ajouter la source et maintenant nous devons définir
cela sur un objet avec cette propriété URI. Jusqu'à présent dans le cours, nous l'utilisons pour pointer sur des images réseau,
vous pouvez également pointer sur des images
locales, donc ici nous pouvons pointer sur une image sélectionnée.
Bien sûr, cela ne fonctionne que si nous avons une image sélectionnée, ce qui n'est le cas
qu'après avoir utilisé l'appareil photo.Par conséquent, nous pouvons maintenant ajouter une vérification if ici ou une simple expression
ternaire où nous vérifions si l'image sélectionnée est définie et si elle ne l'est pas, d'où le point d'exclamation, je montre ce texte de secours, sinon
avec les deux points ici, je mets l'image et maintenant nous avons cette sortie conditionnelle et donc maintenant si nous l'enregistrons et cela redémarre donc sur
les deux appareils, sur les deux simulateurs, si je vais à Android et je
prends mon image ici, bien sûr, cet appareil photo s'ouvre sans surprise. Nous pouvons le confirmer, choisir notre image, la
recadrer et
maintenant nous la voyons ici dans l'aperçu, c'est donc
maintenant notre image qui est utilisée.
Et avec cela, il est bien sûr temps de l'ajouter à l'endroit que nous pouvons ajouter en cliquant sur le bouton Enregistrer le lieu et il
est temps d'ajouter un peu d'espacement entre ces deux boutons, je suppose.