RSS ImageCreate oder ImageCreateTrueColor ?

verfasst 30.12.2007 von Webmaster | kurze URL: /t161 | Kommentar schreiben

Zwischen diesen beiden GDlib-Funktionen gibt es einige Unterschiede, die oft gar nicht beachtet werden.
An dieser Stelle möchte ich darauf mal eingehen.


ImageCreate

Erstellt mittels Breite und Höhe ein neues Bild im Speicher.
Dabei ist allerdings die Farbanzahl auf 256-Farben reduziert.
Das kann Vor- und Nachteile haben.

Vorteile:
- da hier nur 256-Farben zur Verfügung stehen, ist der Speicherbedarf wesentlich geringer
- zum Erstellen von GIF-Bilder besser geeignet

Nachteile:
- Farben gehen verloren, wenn man PNG oder JPEG-Bilder speichern möchte
- im Zusammenhang mit Thumbnail-Funktionen ungeeignet bei ImageCreateFromPNG oder ImageCreateFromJPEG
- Farben werden verfälscht, wenn diese nicht im 256-Farben-Spektrum liegen


ImageCreateTrueColor

Erstellt auch eine neues Bild im Speicher, allerdings in TrueColor mit 16,7 Mio Farben.
Der Speicherbedarf ist hier wesentlich höher, da die GDlib hier mit 40-bit Farbtiefe arbeitet.

Vorteile:
- 16,7 Mio Farben
- Ideal für PNG und JPEG geeignet

Nachteile:
- mehr Speicherbedarf


Damit man den Speicherbedarf nachvollziehen kann, mal ein Beispiel zum selber testen:

» PHP
<?php
function GetMem$text ) { 
   return 
'<p>'.$text.' : '.sprintf("%.3lf"memory_get_usage()/1024/1024 ). ' MB im Speicher </p>'


$image ImageCreate(20002000); 
echo 
GetMem('Speicherbedarf bei ImageCreate'); 
ImageDestroy($image); 

$image ImageCreateTrueColor(20002000); 
echo 
GetMem('Speicherbedarf bei ImageCreateTrueColor'); 
ImageDestroy($image);
?>



[Änderungen vorbehalten]

neuen Kommentar schreiben

Ich möchte automatisch eine E-Mail bei neuen Kommentaren erhalten.



Themen mit ähnlichen Inhalten


Tags zum Beitrag

gdlib     php     imagecreate     imagecreatetruecolor