Tom: GD-LIB: TrueColor

Beitrag lesen

Hello,

nur für's Archiv.
Bisher klappt das so ganz gut.
Keiner der Tests hat bisher einen Out-of-Memory gegeben

function image_check_memory($_imageinfo, $memleft = MEMORY_LEFT)  ## (X, Y, bits, channels), Rest
{
   ## fehlende Angaben durch Raten ergänzen
   if (!isset($_imageinfo['bits'])) $_imageinfo['bits'] = 8;
   if (!isset($_imageinfo['channels']) and $_imageinfo['bits'] == 24) $_imageinfo['channels'] = 1;
   if (!isset($_imageinfo['channels'])) $_imageinfo['channels'] = 3;

$memoryNeeded = round(($_imageinfo[0] * $_imageinfo[1] * $_imageinfo['bits'] * $_imageinfo['channels'] / 8 + 65536) * 1.65);
   $memoryLimit = intval(ini_get('memory_limit')) * 1048576;

if ((memory_get_usage() + $memoryNeeded) + $memleft > $memoryLimit)
   {
     error_log('IMAGE_MEMORY usage: '.memory_get_usage().", needed: $memoryNeeded, limit: $memoryLimit\n", 3, '/var/log/web04/php_error_log');
     return false;
   }

return true;
}

  
  
getimagesize() liefert nur ncht immer Werte für bits und channels.  
So gut gefällt mir das daher noch nicht.  
  
Wenn man aber einen Stapel mit 300 unterschiedlichen Grafiken abarbeiten will, soll die Schleife nicht mittendrin aussteigen.  
  
  
  
  
Harzliche Grüße vom Berg  
<http://bergpost.annerschbarrich.de>  
  
Tom

-- 
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen  
Nur selber lernen macht schlau  
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)  
  
![](http://bitworks.de/~selfHTML/Virencheck.gif)