dieser Fehler auftritt?:
[size=90] Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 12000 bytes) in /users/Benutzername/www/index.php on line 3[/size]
Das Bild ist von einer Canon Kamera und 1.9MB gross
Mit einem anderen Bild (etwas kleiner) von meiner Kamera (sony) geht es
Die Bilddatei (.jpg) mag vielleicht so groß sein. Das zur Bearbeitung im Speicher ausgepackte Bild ist aber wesentlich größer, nämlich Breite × Höhe × 4 Byte.
Wenn obige Formel stimmt, kannst du das doch in etwa abschätzen - Breite
und Höhe feststellen, mal 8 nehmen (sind ja dann zwei Bilder im Speicher, wenn eines gedreht wird)
und du hast grob den Speicherbedarf für die Aktion. Weil andere Aktionen auch etwas Speicher
benötigen werden, sollte das Bild dann sicher kleiner sein.
Als grobes Maß - wenn die längere Seite des Bildes größer als 1000-2000 Pixel ist, kann es
schiefgehen. Bei ungeschickten Skripten, die mehrere Bilder verarbeiten und zwischendurch den
Speicher nicht löschen, dividiert man den Schätzwert durch die Anzahl der verarbeiteten Bilder ;o)
Ansonsten eben Bilder auf dem eigenen Rechner daheim umdrehen - mit geeigneten Programmen dafür.
Wenn man das wirklich auf dem server mit so großen Bildern machen muß, kann es auch
helfen, diese in eine SVG-Datei zu packen und den browser das Bild drehen lassen.
Bei 90-Grad-Drehungen mit PHP kann es sich ansonsten auch lohnen, sich mal das
Format JPEG/JFIF genauer anzusehen. Ich meine, da muß nur ein Bit oder Byte geändert
werden, um die Orientierung zu ändern, man muß das Bild also eigentlich gar nicht mit PHP
drehen, sondern nur dieses Bit oder Byte anders setzen.
Die meißten Bildformate kann man auch mittels EXIF-Daten als rotiert markieren, das ist auch das, was Kameras machen um die Orientierung zu speichern. Die meißten Anzeigeprogramme unterstützen das