Aggiornamento:editing UIImagePickerController serrature ammessi UIImage al formato massimo di 320x320
Con iPhone OS 3.0+, l'intera UIImagePickerController API è cambiato. Questa domanda e risposta dovrebbero essere considerate 2.2. codice legacy.
Quando si utilizza UIImagePickerController e si consente la modifica dell'immagine. L'iPhone consente all'utente di ridimensionare e spostare l'immagine. Tuttavia, la dimensione massima di un'immagine modificata è limitata a 320 x 320.
Ad esempio, ho preso uno screenshot per iPhone e l'ho inserito nella libreria di foto, che è un png 480x320. Quando utilizzo un UIImagePickerController per selezionare quell'immagine, anche se NON ridimensiono o eseguo il panning dell'immagine, questa viene ritagliata a 320x320 prima di essere restituita da UIImagePickerController. Tuttavia, se disattivo la modifica, all'immagine viene restituita la dimensione corretta di 480x320.
La mia teoria: In modo molto sottile, l'iPhone visualizza 2 barre degli strumenti traslucide non standard che si sovrappongono sull'immagine. Queste barre degli strumenti lasciano una innocua "finestra" 320x320 sulla foto. Mi sembra che questa finestra blocchi efficacemente la foto sottostante.
Nota: Il callback restituisce anche un dizionario di modifica con l'immagine originale e il ritaglio di ritaglio, ma ovviamente il rect è anche 320x320 massimo.
Qualche idea su come consentire la ridimensionamento e la panoramica delle immagini più grandi di 320x320?
Alcuni codice:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {
self.myImageView.userInteractionEnabled=YES;
CGRect imageFrame = myImageView.frame;
CGPoint imageCenter = myImageView.center;
imageFrame.size = img.size;
myImageView.frame = imageFrame;
self.myImageView.image = img;
myImageView.center = imageCenter;
[self dismissModalViewControllerAnimated:YES];
[self performSelector:@selector(hideToolBars) withObject:nil afterDelay:2.0];
}
Sto ancora vedendo questo problema su 3.0.1, è corretto in 3.1? – Jasarien