Comment rogner une image après avoir été prise avec l'appareil photo UIImagePicker?
-
22-07-2019 - |
Question
J'essaie de permettre à l'utilisateur de prendre des images au format 16x9 pour avoir l'air de belles photos HD. J'utilise cameraViewOverlay pour superposer des barres noires aux deux extrémités, mais lorsque l'image est prise, comment puis-je recadrer le haut et le bas sans redimensionner ou changer l'échelle de l'image?
Merci.
La solution
Il existe divers articles sur la manière de redimensionner / rogner un UIImage que vous récupérez de la caméra, comme celui-ci .
C’est un peu plus compliqué que prévu, car les images de la caméra pivotent, vous devez donc penser aux rotations même si vous ne faites que recadrer.
Autres conseils
vous pouvez ajouter & pick; picker.imageEditing = YES " à votre code lorsque vous prenez l'image. Ensuite, vous devez définir les propriétés de l'image dans le générateur d'interface: Attributs de vue d’image - > Voir - > Mode - > Aspect adapté ou autre option à votre guise
Vérifiez cette solution par Ming Yang. https://github.com/myang-git/iOS-Image-Crop-View
Il permet à l'utilisateur de recadrer l'image en faisant glisser ou en faisant glisser les bords d'un rectangle autour de la partie requise de l'image. Je suppose que ce code peut être modifié pour répondre à vos besoins de recadrage, qu'il soit automatique ou manuel.
Il est codé en Objective-C. Vous devrez peut-être le coder dans Swift ou tout simplement créer un en-tête de pontage pour connecter le code Objective-C au code Swift.