2012-04-13 10 views
8

Sto utilizzando la funzionalità di ritaglio di immagini standard IOS (spostamento e ridimensionamento) per ritagliare la mia immagine prima di inviarla al server.Come rimuovere il ritaglio con rapporto quadrato per le immagini su IOS

Tuttavia, mi rendo conto che il ritaglio fornito ha un rapporto quadrato (vedi immagine sotto)

enter image description here

frammento del codice è il seguente:

//set up image picker 
self.imgPicker = [[[UIImagePickerController alloc] init]autorelease]; 
self.imgPicker.allowsEditing = YES; 
self.imgPicker.delegate = self; 

//Trigger get photo from library function 
self.imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
[self presentModalViewController:self.imgPicker animated:YES]; 

Come può permettere 'mossa modifica in scala e allo stesso tempo consentire all'utente di eseguire il ritaglio SENZA la restrizione del rapporto quadrato?

+2

possibile duplicato di [come cambiare la cornice di ritaglio UIImagePickerController] (http://stackoverflow.com/questions/998706/how-to-change-the-uiimagepickercontroller-crop-frame) – CodaFi

+0

Hai ragione CodaFi, questa domanda è stata fatta in tutto lo stackoverflow. Questo thread può anche essere utile, in quanto un utente suggerisce il suo framework: http://stackoverflow.com/questions/3740253/custom-crop-size-in-uiimagepickercontroller. Ecco il framework: https://github.com/yogev77/UIImagePickerWithEditor. Ma non l'ho usato, quindi non posso dare alcuna opinione al riguardo. – rdurand

+0

C'è la tua risposta .. http://stackoverflow.com/questions/9041732/set-dimensions-for-uiimagepickercontroller-move-and-scale-cropbox –

risposta

3

Questa libreria può aiutarti.

https://github.com/gekitz/GKImagePicker

Supporta ritaglio su misura ed è facile da integrare con il selettore nativo, se necessario.

+2

Questo progetto non funziona con l'acquisizione di immagini dalla fotocamera. Va sempre in galleria. – learner

10

Penso che è necessario cambiare self.imgPicker.allowsEditing = YES;-self.imgPicker.allowsEditing = NO;