1 00:00:02,310 --> 00:00:09,000 Commençons donc par configurer cela. Ici, lancer la caméra asynchrone est la fonction que nous 2 00:00:09,570 --> 00:00:13,310 appelons pour ouvrir la caméra, mais en fait, vous pouvez configurer un peu. 3 00:00:13,340 --> 00:00:19,920 Si vous passez un objet ici, vous avez quelques options que vous pouvez définir et bien sûr, les documents officiels d'exposition 4 00:00:19,920 --> 00:00:24,520 pour le sélecteur d'images sont l'endroit où aller pour tout savoir sur ces options. 5 00:00:24,600 --> 00:00:26,930 Maintenant, les paramètres par défaut sont en fait 6 00:00:26,940 --> 00:00:32,940 assez fins, mais par exemple ici, vous pouvez ajouter permet de modifier et de le définir sur true pour obtenir un éditeur de 7 00:00:32,940 --> 00:00:37,560 base qui vous permet de recadrer l'image par exemple et c'est en fait quelque chose que j'activerai ici. 8 00:00:37,620 --> 00:00:44,040 Vous pouvez également définir un rapport d'aspect spécifique où vous souhaitez vous connecter, comme 16: 9 qui sera 9 00:00:44,040 --> 00:00:46,850 pris en compte dans votre mode d'édition. 10 00:00:46,890 --> 00:00:52,680 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 11 00:00:52,920 --> 00:00:57,570 obtenez une chaîne de texte qui représente votre image, qui est assez grande cependant et je ne le ferai pas ici 12 00:00:57,570 --> 00:01:04,740 et vous pouvez également contrôler la qualité et là, je vais mettre la qualité à 0. 13 00:01:04,740 --> 00:01:09,780 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 14 00:01:09,870 --> 00:01:13,350 a bien sûr également un impact sur la taille de l'image par la suite. 15 00:01:13,380 --> 00:01:17,030 Vous voulez donc choisir une taille ou une qualité qui a du sens pour votre application. 16 00:01:17,040 --> 00:01:23,490 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 17 00:01:23,490 --> 00:01:28,050 est bien sûr, comment pouvons-nous accéder à l'image qui a été prise? 18 00:01:28,950 --> 00:01:32,520 Souvenez-vous bien que c'est une promesse ou que cela renvoie une promesse. 19 00:01:32,550 --> 00:01:33,570 Bien sûr, 20 00:01:33,600 --> 00:01:41,050 nous pouvons donc attendre cette promesse et le résultat que nous obtenons après la promesse résolue est bien l'image, nous 21 00:01:41,130 --> 00:01:47,340 pouvons donc simplement stocker cette image dans une constante. Une image est maintenant un objet avec diverses informations sur l'image 22 00:01:47,340 --> 00:01:48,840 qui a été prise. 23 00:01:49,590 --> 00:01:53,230 Donc, ici, nous pouvons consoler l'image du journal pour voir ce qui s'y trouve. 24 00:01:53,250 --> 00:01:58,150 Enregistrons cela et testons-le sur Android. Là, si je vais maintenant sur 25 00:01:58,160 --> 00:02:05,930 ce nouvel écran ici, je prends une image et je prends cette image avec cette caméra simulée factice, j'arrive ici et 26 00:02:05,960 --> 00:02:06,460 je 27 00:02:06,470 --> 00:02:09,170 le confirme, maintenant je vais à ce 28 00:02:09,200 --> 00:02:16,760 recadrage ou à cet outil d'édition parce que j'ai activé l'édition, ici je avoir ce format 16: 9 que je peux 29 00:02:16,880 --> 00:02:22,050 déplacer et en cliquant sur recadrer, je peux maintenant le sélectionner et si nous 30 00:02:22,250 --> 00:02:27,280 regardons maintenant la console, nous voyons que c'est l'objet que nous avons récupéré. 31 00:02:27,440 --> 00:02:32,930 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, 32 00:02:32,930 --> 00:02:33,470 c'est 33 00:02:33,470 --> 00:02:37,880 donc un champ que nous pouvons vérifier pour savoir si l'utilisateur a pris une image ou si le 34 00:02:37,880 --> 00:02:38,700 processus a été annulé. 35 00:02:39,290 --> 00:02:41,330 On obtient la hauteur de 36 00:02:41,570 --> 00:02:49,310 l'image et la largeur, on obtient le type qui est image et l'URI, donc un lien vers le fichier image. 37 00:02:49,310 --> 00:02:53,570 Maintenant, c'est dans un répertoire temporaire qui est nettoyé automatiquement périodiquement, donc bien sûr 38 00:02:53,630 --> 00:02:59,830 ce n'est pas le stockage ou le chemin où vous voulez le stocker de façon permanente et nous le déplacerons 39 00:02:59,840 --> 00:03:04,010 plus tard avec l'API du système de fichiers mais pour l'instant, c'est quelque 40 00:03:04,670 --> 00:03:06,740 chose que nous peut travailler avec. 41 00:03:06,770 --> 00:03:16,840 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 42 00:03:16,870 --> 00:03:24,150 l'initialiser là-haut, l'état d'utilisation peut être appelé ici et bien sûr, je récupère quelques 43 00:03:24,510 --> 00:03:33,840 données ici et c'est mon image choisie et un définissez la fonction d'image choisie comme vous en avez 44 00:03:33,870 --> 00:03:36,740 l'habitude depuis l'état d'utilisation et maintenant 45 00:03:36,810 --> 00:03:39,160 nous pouvons l'utiliser ici. 46 00:03:39,240 --> 00:03:44,340 Ici, je veux définir l'image sélectionnée sur l'image. uri, donc à ce lien vers mon 47 00:03:44,360 --> 00:03:46,550 image, de sorte que le chemin 48 00:03:46,590 --> 00:03:53,910 en tant que chaîne vers mon image et ce qui est cool, c'est que ce chemin puisse être utilisé avec le composant 49 00:03:53,940 --> 00:03:57,830 image, il fonctionne avec le composant image sans aucune configuration spéciale. 50 00:03:57,840 --> 00:04:02,160 Donc là, nous pouvons ajouter la source et maintenant nous devons définir 51 00:04:02,160 --> 00:04:08,800 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, 52 00:04:08,820 --> 00:04:11,130 vous pouvez également pointer sur des images 53 00:04:11,130 --> 00:04:13,770 locales, donc ici nous pouvons pointer sur une image sélectionnée. 54 00:04:13,980 --> 00:04:18,700 Bien sûr, cela ne fonctionne que si nous avons une image sélectionnée, ce qui n'est le cas 55 00:04:19,140 --> 00:04:23,940 qu'après avoir utilisé l'appareil photo.Par conséquent, nous pouvons maintenant ajouter une vérification if ici ou une simple expression 56 00:04:24,590 --> 00:04:31,770 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 57 00:04:31,890 --> 00:04:38,820 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 58 00:04:38,820 --> 00:04:42,640 les deux appareils, sur les deux simulateurs, si je vais à Android et je 59 00:04:42,660 --> 00:04:50,290 prends mon image ici, bien sûr, cet appareil photo s'ouvre sans surprise. Nous pouvons le confirmer, choisir notre image, la 60 00:04:50,290 --> 00:04:51,490 recadrer et 61 00:04:51,490 --> 00:04:56,230 maintenant nous la voyons ici dans l'aperçu, c'est donc 62 00:04:56,230 --> 00:04:59,700 maintenant notre image qui est utilisée. 63 00:04:59,890 --> 00:05:05,310 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 64 00:05:05,650 --> 00:05:08,350 est temps d'ajouter un peu d'espacement entre ces deux boutons, je suppose.