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.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top