Beschleunigen oder beseitigen Sie diese langsame Funktion in einer iPhone-Kamera-App

8

Wenn Sie Fotos mit einem UIImagePickerController auf dem iPhone machen, haben ich und viele Internetnutzer herausgefunden, dass Sie die Bilder durch diese Funktion ausführen müssen, um sie richtig zu orientieren (und skalieren Sie sie, während Sie gerade dabei sind).

Hier ist ein riesiger roter Faden: Ссылка

Leider kann die Ausführung dieser Funktion Sekunden dauern und ist wirklich ärgerlich. Wenn Sie dies verwenden und die Benutzer Bilder schnell aufnehmen lassen möchten, müssen Sie sogar eine NSLock hinzufügen oder Sie werden einige Abstürze bekommen.

Wie kann ich diesen Code beschleunigen oder eliminieren?

%Vor%     
Andrew Johnson 10.02.2010, 09:31
quelle

2 Antworten

11

Müssen Sie diese Operation wirklich sofort machen? Die Bildschirmauflösung des iPhones ist 320x480 (und doppelt so groß wie bei Retina) - skaliere das Bild auf mindestens dieses, wende dann die Transformationen an (zumindest zum Anzeigen, später dann, wenn der User etwas mit dem Bild machen will, rennst du die teurere Version im Hintergrund). Sieh dir diese erste Zeile an:

%Vor%

Bei den meisten Anwendungen rotieren Sie dieses gigantische Bild und werfen dann den größten Teil dieser berechneten Daten weg, wenn Sie es verkleinern. Werfen Sie die Daten zuerst durch Skalieren weg (afaik, eine weitaus billigere Operation) und drehen Sie sie dann.

    
Paul Betts 13.02.2010, 03:43
quelle
0

Ich frage mich, warum du denkst, dass du ein Bild skalieren und drehen musst, das vom UIImagePicker kommt. Ich habe ein paar verschiedene Apps geschrieben, die die Kamera verwenden, und ich musste das nie tun. Wenn Sie genauer erklären, was Sie zu tun versuchen, können wir Ihnen vielleicht genauere Vorschläge machen.

    
Mark Bessey 16.02.2010 22:31
quelle

Tags und Links