2010-09-18 17 views
6

Sono stato alle prese con questo per un po 'ora, dal momento che c'è poca documentazione sull'argomento. Ho un UIImagePickerController nella mia applicazione iPhone che uso per selezionare un'immagine da applicare come sfondo di una vista in seguito. Questo è abbastanza facile da fare. Sfortunatamente, se un utente seleziona un'immagine grande dal suo rullino fotografico, deve essere ridimensionata e ritagliata per apparire decente.Dimensione ritaglio personalizzato in UIImagePickerController

È abbastanza semplice passare da picker.allowsEditing a YES e richiamare l'editor di immagini, ma le dimensioni di ritaglio predefinite sono troppo piccole. Ho bisogno di impostarlo su tutte le dimensioni dello schermo dell'iPhone (320 per i vecchi modelli, 640 per i nuovi). Come si fa a farlo? Sono stato su Google a guardare la documentazione di Apple, ma non riesco a trovare nulla. Il meglio che ho trovato è una soluzione un po 'buggy del 2009 (http://blog.stormyprods.com/2009/06/image-picker-sample.html) che quasi funziona, ma sposta l'immagine verso il basso di circa 20px. (Inoltre, è un po 'troppo complicato.) Sicuramente c'è una soluzione elegante e semplice che mi manca?

risposta

0

Può essere questo dovrebbe funzionare:

-(UIImage *)imageWithImage:(UIImage *)image CovertToSize:(CGSize)size { 
     UIGraphicsBeginImageContext(size); 
     [image drawInRect:CGRectMake(0, 0, size.width, size.height)]; 
     UIImage *destImage = UIGraphicsGetImageFromCurrentImageContext();  
     UIGraphicsEndImageContext(); 
     return destImage; 
} 
2

Un anno più tardi - Ciao, come te, non ho trovato niente di utile, così ho creato questo progetto - un raccolto formato personalizzato e zoom modifica UIImagePicker Popover per l'iPad.

Si potrebbe facilmente cambiare per l'iphone, spero che aiuti qualcuno. Eccolo - https://github.com/yogev77/UIImagePickerWithEditor

+0

Ritaglia mentre si scatta la foto non dopo! Il precedente progetto github non è una soluzione per la domanda posta sopra. Se si imposta la sorgente dell'immagine come fotocamera, la finestra di modifica del ritaglio si apre dopo aver scattato la foto non mentre si scatta la foto. –

+0

non può risolvere il problema di memoria. Voglio ridurre l'utilizzo della memoria della mia fotocamera 8M – OMGPOP

+2

@ Punto Gamma che desideri ridimensionare e ritagliare MENTRE scattare una foto? Questo non è ciò che questa domanda richiede – AnthonyBlake

Problemi correlati