2009-12-01 8 views
6

J'essaye de permettre à l'utilisateur de prendre des images de rapport d'aspect de 16x9 pour sembler qu'elles sont de bonnes photos de 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 modifier l'échelle de l'image?Comment rogner une image après prise de UIImagePicker Camera?

Merci.

Répondre

2

Il existe différents messages sur la façon de mettre à l'échelle/recadrer un UIImage vous revenez de la caméra, comme this one.

C'est un peu plus compliqué que ce à quoi vous vous attendez, parce que les images des caméras sont pivotées, donc vous devez penser à des rotations même si vous ne faites que recadrer.

+4

Je ne voudrais pas mettre celui-ci comme la bonne réponse. Puisque la question concerne uniquement les cultures. La solution que vous pointez dans cette réponse est une solution par vous-même, et est également spécifique à l'échelle et la culture. Je n'ai pas encore trouvé de solution pour recadrer une image tirée de l'appareil photo. –

+0

@RigoVides pouvez-vous s'il vous plaît poster la solution? – Dejell

1

Vous pouvez ajouter "picker.imageEditing = YES" à votre code lorsque vous prenez l'image. Ensuite, vous devez définir les propriétés imageView dans le constructeur de l'interface: Attributs d'affichage d'image -> Affichage -> Mode -> ajustement d'aspect, ou autre option que vous souhaitez

+1

Je pense que vous voulez dire "picker.allowsEditing = YES" – TomSwift

+0

De quelle image parlez-vous? Le sélectionné du contrôleur uiimagepicker? – Dejell

1

Vérifiez cette solution par Ming Yang. https://github.com/myang-git/iOS-Image-Crop-View

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 présume que ce code peut être modifié pour convenir à votre culture, qu'il soit automatique ou manuel.

Il est codé en Objective-C. Vous devrez peut-être le coder dans Swift ou simplement construire un en-tête de pontage pour connecter le code Objective-C avec le code Swift.

Questions connexes