Comment sélectionner une partie d'une image, recadrer et l'enregistrer en utilisant Swift?
Je suis en train de créer une application iOS à l'aide de Swift pour capturer des images et de permettre à l'utilisateur d'enregistrer une partie sélectionnée de l'image. Dans de nombreux cam applications basées sur, j'ai remarqué qu'un cadre de forme rectangulaire est offert pour permettre aux utilisateurs de choisir la portion désirée. Cela implique soit en faisant glisser les bords du rectangle ou en déplaçant les coins pour s'adapter à la zone souhaitée.
Pourriez-vous svp me guider sur la façon de mettre en œuvre cette mobiliers rectangle et comment enregistrer seulement ce morceau de l'image?
source d'informationauteur Sriram
Vous devez vous connecter pour publier un commentaire.
L'Utilisation De Swift 3
Recadrage de l'Image peut être fait en utilisant CGImages de CoreGraphics.
Obtenir le CGImage version d'une UIImage comme ceci:
CGImage les objets ont une méthode recadrage (: CGRect) qui ne le recadrage:
Enfin, convertir de retour de CGImage à UIImage:
Exemple la fonction de:
La CGRect attribut de culture définit le "rectangle de sélection" à l'intérieur de l'image sera rognée.
Trouvé la solution. Cette fois, c'est en Swift. La solution est élégante et le code par rapport à d'autres solutions est écrit en moins de nombre de lignes.
Ici, il est..
https://github.com/DuncanMC/CropImg
Grâce à Duncan Champney pour faire son travail, disponible sur github.
https://github.com/myang-git/iOS-Image-Crop-View fait quelque chose comme ce que vous cherchez..
Espère que cette aide.
Si vous obtenir question de la rotation de 90 après le recadrage de l'image de l'essayer.
Stocker l'image d'origine à l'échelle et l'orientation de la propriété pour les Utiliser plus tard
Obtenir le CGImage de UIImage:
Passer le cropArea(CGRect) de la zone que vous souhaitez recadrer (au cas où vous utilisez imageView.l'image que vous avez de trouver l'échelle et faire du calcul pour trouver cgRect) l'ajout du code ci-dessous si nécessaire
Ont besoin du contexte pour le rendu de l'image (c'est un processus lourd de vérifier https://developer.apple.com/documentation/coreimage/cicontext si vous faites plusieurs fois ) à l'aide de cela, vous pouvez définir l'échelle et l'orientation que nous avons créé dans la première ligne de l'image ne faites pas pivoter de 90