Tom: Bild verkleinern

Beitrag lesen

Hello,

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 12532 bytes) in

Ein JPG-Bild ist komprimiert. Wenn dies nun sehr wenige Farben hat und eine starke Kompressionsstufe gewählt wurde, kann es beim Auspacken schon auf den 50 bis 100-fachen Speicherbedarf anwachsen.

Du kannst Dich bei JPG-Dateien und bedingt auch bei den anderen davor schützen, dass der vorhandene Speicher überschritten wird, indem Du _vorher_ mit getimagesize()
http://de.php.net/manual/en/function.getimagesize.php
die Metadaten des Bildes auskliest und dann rechnest

sizeX * sizeY * (3 + Sicherheit1) + Sicherheit2

Das ist der Speicherbedarf, den Dein Bild mindestens verursacht.

Wenn Du es dann umkopieren willst, benötigst Du für die Kopie selbstverstänlich auch nochmal diesen Speicher. Zusätzlich benötigt Dein Script noch Speicher und für jedes Arrayelement muss man auch noch einiges an Overhead (zwischen 80 und 180 Bytes) einplanen, falls Du gerade welche angelegt hast.

Es gibt hier im Archiv einen Thread von mir, in dem ich unter Mithilfe der Anderen bemüht hatte, eine Speicherbedarfsschätzung für eben diesen Fall (Bilder bearbeiten) durchzuführen. Die Funktion hat "schon befriedigend" gearbeitet.

Musst mal suchen.

wer weiß, warum das so ist und wo gibt es eine DEUTSCHE Beschreibung für diesen und ähnliche Befehle?

Für die Übersetzung empfehle ich http://dict.tu-chemnitz.de/

Ein harzliches Glückauf

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de