Sto utilizzando AVCam per acquisire l'immagine, ma ora voglio mostrare la fotocamera quadrata e acquisire l'immagine quadrata. Come posso farlo?AVCam con telecamera quadrata
Grazie mille!
Sto utilizzando AVCam per acquisire l'immagine, ma ora voglio mostrare la fotocamera quadrata e acquisire l'immagine quadrata. Come posso farlo?AVCam con telecamera quadrata
Grazie mille!
Questi richiedono due tecniche separate.
È importante capire la differenza tra i due.
Il primo, che modifica il livello di anteprima del video, richiede la regolazione della gravità del video. Si noti che questo può essere cambiato come segue, nel contesto di schermo intero:
[Swift 3]
previewView.videoPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
In sostanza, si stanno modificando i confini della vostra mirino. Tuttavia, non stai fornendo alcun effetto sulla tua foto catturata.
Ora, per la tua situazione di riempimento di un quadrato, è necessario definire i limiti del livello, quindi utilizzare AVLayerVideoGravityResize
.
Per quanto riguarda la modifica del foto catturata:
Il mio metodo è semplicemente prendendo i dati di immagine restituiti, convertendolo in un UIImage, quindi l'esecuzione di un'operazione delle colture. Il fatto è che la tua foto catturata sarà sempre la risoluzione e le proporzioni standard dell'iPhone. Dovrai prendere i dati dell'immagine e convertirli ad un certo punto per rimuovere i limiti.
In verità, non lo faccio più localmente perché è un problema. Se comunichi con una API REST, prenderei in considerazione l'esecuzione di operazioni di ritaglio sul lato server - è altrettanto semplice e meno spese generali per l'utente. Certo, potrebbe non essere adatto alla tua situazione.