UIImagePickerController Bearbeitung erlaubt Schlösser UIImage max Größe von 320 × 320

Update:

Mit iPhone OS 3.0+, die ganze UIImagePickerController-API geändert hat. Diese Frage und die Antwort sollte berücksichtigt werden, 2.2. legacy-code.


Bei der Verwendung der UIImagePickerController und Sie erlauben die Bearbeitung des Bildes. Das iPhone ermöglicht es dem Benutzer das skalieren und verschieben des Bildes. Aber die max Größe eines bearbeiteten Bildes ist begrenzt auf 320x320.

Als Beispiel, ich habe ein iPhone screenshot und platziert es in der Foto-Bibliothek, die eine 480x320 png. Wenn ich einen UIImagePickerController wählen Sie das Bild, auch wenn ich NICHT skalieren oder schwenken Sie das Bild, es zuschneiden auf 320x320, bevor es zurückgegeben wird, von der UIImagePickerController. Allerdings, wenn ich schalten Sie die Bearbeitung ab, wird das Bild zurückgegeben wird, die richtige Größe 480x320.

Meine Theorie:
Sehr subtil, das iPhone zeigt 2 ausgefallene transluzente tool-bars, die überlagerung über dem Bild. Diese Symbolleisten lassen einen harmlosen 320x320 "Fenster" über dem Foto. Es scheint mir, dass dieses Fenster wirksam clips das zugrunde liegende Foto.

Hinweis:
Der callback gibt auch einen Bearbeiten-Wörterbuch mit dem ursprünglichen Bild und dem clipping rect, aber natürlich das rect ist auch max 320x320.

Irgendwelche Ideen auf, wie können Bilder die größer als 320 × 320 skaliert und verschoben?

Code:

- (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];
    }
  • Ich bin immer noch zu sehen, dieses Problem auf 3.0.1, ist dieses fest in 3.1?
InformationsquelleAutor Corey Floyd | 2009-04-07
Schreibe einen Kommentar