Come ritagliare l'immagine dopo averla presa da UIImagePicker Camera?
-
22-07-2019 - |
Domanda
Sto cercando di consentire all'utente di scattare immagini in formato 16x9 per sembrare belle foto HD. Sto usando cameraViewOverlay per sovrapporre le barre nere su entrambe le estremità, ma quando si scatta l'immagine, come posso ritagliare la parte superiore e inferiore senza ridimensionare o modificare la scala dell'immagine?
Grazie.
Soluzione
Esistono vari post su come ridimensionare / ritagliare un UIImage che si ottiene dalla videocamera, come questo .
È un po 'più complicato di quanto ti aspetteresti, perché le immagini della videocamera sono ruotate, quindi devi pensare alle rotazioni anche se stai solo ritagliando.
Altri suggerimenti
puoi aggiungere " picker.imageEditing = YES " al tuo codice quando scatti l'immagine. Quindi devi impostare le proprietà imageView nel generatore di interfaccia: Attributi di visualizzazione immagine - > Visualizza - > Modalità - > Adattamento all'aspetto o altra opzione che desideri
Controlla questa soluzione di Ming Yang. https://github.com/myang-git/iOS-Image-Crop-View
Permette all'utente di ritagliare l'immagine facendo scorrere o trascinando i bordi di un rettangolo attorno alla porzione richiesta dell'immagine. Presumo che questo codice possa essere modificato in base alle tue esigenze di ritaglio, sia esso automatico o manuale.
È codificato in Objective-C. Potrebbe essere necessario codificarlo in Swift o semplicemente creare un'intestazione ponte per collegare il codice Objective-C con il codice Swift.