Dr. Web Logo. Untertext: Seit 1997.
  • Beste Agenturen
  • Agentur-Standorte von A bis Z 🌇
  • Magazin
  • Newsletter 📩
  • Login
  • Agentur bewerben ✅
  • Kontakt
  • Werben 🎉
  • Sponsored Post
  • Jobs
Menü
  • Beste Agenturen
  • Agentur-Standorte von A bis Z 🌇
  • Magazin
  • Newsletter 📩
  • Login
  • Agentur bewerben ✅
  • Kontakt
  • Werben 🎉
  • Sponsored Post
  • Jobs
  • Werben
  • Gastbeitrag
  • Sponsored Post
  • Kontakt
  • Login
  • Newsletter
Suche
  • Beste Agenturen
  • Agentur-Standorte
      Berlin bei Nacht, Blick von oben Richtung Fernsehturm.

      Berlin

      Blick auf die Elbufer-Promenade Dresdens sowie Frauenkirche und Zwinger.

      Dresden

      Düsseldorf von oben mit Blick auf den Fernsehturm.

      Düsseldorf

      Blick von oben auf das Bankenviertel in Frankfurt am Main.

      Frankfurt am Main

      Hamburg bei Nacht, Blick auf die Speicherstadt.

      Hamburg

      Blick auf das Neue Rathaus, Hannover.

      Hannover

      Agenturen in Innsbruck von oben mit Blick auf die Alpen.

      Innsbruck

      Sonnenuntergang in Köln mit Blick auf den Dom. Im Vordergrund die Hohenzollernbrücke.

      Köln

      München bei Fön mit Blick in die bayerischen Alpen.

      München

      Stuttgart von oben.

      Stuttgart

      Wien von oben. Blick auf den Stephansdom.

      Wien

      Zürich von oben.

      Zürich

  • Magazin
    • Content Marketing
    • CSS
    • E-Commerce
    • E-Mail-Marketing
    • Freelancer
    • Fotografie
    • HTML
    • Online-Marketing
    • Responsive Design
    • SEO
    • UX Design
    • Webdesign
    • Website erstellen
    • WordPress
    • Dr. Web Autoren
  • Jobs
Menü
  • Magazin
    • Content Marketing
    • CSS
    • E-Commerce
    • E-Mail-Marketing
    • Freelancer
    • Fotografie
    • HTML
    • Online-Marketing
    • Responsive Design
    • SEO
    • UX Design
    • Webdesign
    • Website erstellen
    • WordPress
    • Dr. Web Autoren
  • Jobs
Agentur eintragen →
Dr. Web Logo. Untertext: Seit 1997.
  • Beste Agenturen
  • Agentur-Standorte
      Berlin bei Nacht, Blick von oben Richtung Fernsehturm.

      Berlin

      Blick auf die Elbufer-Promenade Dresdens sowie Frauenkirche und Zwinger.

      Dresden

      Düsseldorf von oben mit Blick auf den Fernsehturm.

      Düsseldorf

      Blick von oben auf das Bankenviertel in Frankfurt am Main.

      Frankfurt am Main

      Hamburg bei Nacht, Blick auf die Speicherstadt.

      Hamburg

      Blick auf das Neue Rathaus, Hannover.

      Hannover

      Agenturen in Innsbruck von oben mit Blick auf die Alpen.

      Innsbruck

      Sonnenuntergang in Köln mit Blick auf den Dom. Im Vordergrund die Hohenzollernbrücke.

      Köln

      München bei Fön mit Blick in die bayerischen Alpen.

      München

      Stuttgart von oben.

      Stuttgart

      Wien von oben. Blick auf den Stephansdom.

      Wien

      Zürich von oben.

      Zürich

Agentur eintragen →
Dr. Web » Webdesign » Speicherbedarf bei GDlib: Warum Dateigröße nicht gleich Datenmenge ist

Speicherbedarf bei GDlib: Warum Dateigröße nicht gleich Datenmenge ist

Wenn es um das serverseitige Bearbeiten von Bildern mittels PHP geht, ist die Grafikbibliothek GDlib oftmals erste Wahl. Da die meisten Server PHP nur begrenzten Speicherplatz zum Ausführen zur Verfügung stellen, kann es bei sehr großen Bildern zu Out-of-Memory-Fehlern kommen. Manchmal können jedoch auch relative kleine Bilder zu solchen Fehlern führen. Dies lässt sich auf verschiedene Arten umgehen.

Sozial sein
Share on facebook
Share on twitter
Share on linkedin
Share on xing
Share on whatsapp
Share on email
  • Keine Kommentare
Lesedauer: 3 Minuten
  • von Dr. Web Redaktion
  • 11. August 2010
Bookmarke mich
Share on pocket

Wenn es um das serverseitige Bearbeiten von Bildern mittels PHP geht, ist die Grafikbibliothek GDlib oftmals erste Wahl. Sie ermöglicht unter anderem das Beschneiden, Drehen, Verkleinern und Konvertieren von Bildern. Da die meisten Server PHP nur begrenzten Speicherplatz zum Ausführen zur Verfügung stellen, kann es bei sehr großen Bildern zu Out-of-Memory-Fehlern kommen. Manchmal können jedoch auch relative kleine Bilder, die kein Megabyte groß sind, zu solchen Fehlern führen. Dies lässt sich auf verschiedene Arten umgehen.

Wie aus rund 75 Kilobyte drei Megabyte werden

Der Grund dafür ist, dass eine ein Megabyte Dateigröße nicht gleichzusetzen ist mit der Datenmenge, die ein Bild im Speicher belegt. Eine klassische Anwendung für GDlib ist das Erstellen von Thumbnails von Bildern, die meistens im JPEG-Format vorliegen. Eine JPEG-Datei kann je nach Kompressionsgrad bis zu 35 mal kleiner sein als eine nicht komprimierte Bilddatei. Wird eine JPEG-Datei jedoch bearbeitet, so wird sie entkomprimiert im Speicher abgelegt. Für jedes Pixel des Bildes müssen dann je nach Farbtiefe bis zu 40 Bit im Speicher zur Verfügung gestellt werden.

Beispiel: Ein komplett weißes JPEG mit einer Kantenlänge von je 1.000 Pixeln im RGB-Modus und mit einer Farbtiefe von 8 Bit kommt bei starker Komprimierung auf rund 75 Kilobyte Dateigröße. Öffnet man die Datei in einem Bildbearbeitungsprogramm, wie Photoshop oder Gimp, kommt das Bild auf einen Speicherbedarf von 3 Megabyte bzw. 2,86 Mebibyte.

Obwohl das Bild komplett weiß ist, belegt es Speicher
Obwohl das Bild komplett weiß ist, belegt es 2,86 Mebibyte des Speichers

Der Speicherbedarf ergibt sich aus der Anzahl der Pixel des Bildes multipliziert mit der Anzahl der Bits, die für die Farbtiefe je Kanal belegt werden. Das Ganze geteilt durch 8 ergibt die Bytes, durch 1.024 die Kibibyte und nochmals durch 1.024 die Mebibyte (Unterscheidung von Kilo- und Kibibyte beziehungsweise Megabyte und Mebibyte siehe hier):

Anzahl Pixel = [Breite in Pixel] * [Höhe in Pixel]

Anzahl Bits = [8 Bit für Rotkanal]
            + [8 Bit für Grünkanal]
            + [8 Bit für Blaukanal] = 24

Datenmenge in Bytes = [Anzahl Pixel] * [Anzahl Bits] / 8
Datenmenge in Megabyte = [Datenmenge in Bytes] / 8 / 1000 / 1000
Datenmenge in Mebibyte = [Datenmenge in Bytes] / 8 / 1024 / 1024

Eine JPEG-Datei mit gerade einmal 75 Kilobyte belegt also in einem Bildbearbeitungsprogramm beinahe drei Megabyte. Wird die Datei mittels GDlib bearbeitet, wird sogar noch mehr Speicher benötigt. Denn GDlib arbeitet intern nicht mit 24 Bit wie das Beispiel in Photoshop, sondern mit 40 Bit – 8 Bit für vier Farbkanäle, da GDlib auch CMYK unterstützt, sowie 8 Bit für den Alphakanal. Dabei spielt es keine Rolle, ob das Bild, das von GDlib verarbeitet werden soll, tatsächlich so viele Kanäle besitzt. Der Speicherbedarf ist also wesentlich größer als in Photoshop:

Anzahl Pixel = [Breite in Pixel] * [Höhe in Pixel]

Anzahl Bits = [8 Bit für Rot- bzw. Cyankanal]
            + [8 Bit für Grün- bzw. Magentakanal]
            + [8 Bit für Blau- bzw. Gelbkanal]
            + [8 Bit für Schwarzkanal]
            + [8 Bit für Alphakanal] = 40

Datenmenge in Bytes = [Anzahl Pixel] * [Anzahl Bits]
Datenmenge in Megabyte = [Datenmenge in Bytes] / 8 / 1000 / 1000
Datenmenge in Mebibyte = [Datenmenge in Bytes] / 8 / 1024 / 1024

GDlib benötigt also statt 2,86 Mebibyte beziehungsweise 3 Megabyte satte 4,7 Mebibyte bzw. 5 Megabyte Speicher mehr als das 1,5-fache von dem, was Photoshop braucht.

Problem umgehen

Es gibt mehrere Möglichkeiten, diesen Out-of-Memory-Fehler zu verhindern. Die naheliegendste ist, beim Exportieren beziehungsweise Optimieren von Bildern fürs Web neben der Kompression der Bilder auch die Auflösung zu berücksichtigen. Unabhängig von der Kompression belegen Bilder mit geringer Auflösung weniger Speicher.

Zudem sollte man reichlich Gebrauch von der Funktion imagedestroy() machen. Hierüber wird der von einem Bild belegte Speicher geleert.

Wer Zugriff auf den Server hat, auf dem PHP läuft, kann über die php.ini das Speicherlimit MEMORY_LIMIT heraufsetzen. Alternativ bietet sich an, statt GDlib eine andere Methode zur Bildbearbeitung zu nutzen, etwa ImageMagick. Während GDlib auf den Speicher zurückgreift, der PHP bereitgestellt wird, arbeitet ImageMagick unabhängig davon. Anders als GDlib, eine in PHP eingebundene Programmbibliothek, ist ImageMagick ein eigenständiges Programm.

Da GDlib quasi zum Standard einer jeden PHP-Installation gehört, dürfte es jedem zur Verfügung stehen. ImageMagick hingegen wird man kaum auf jedem Server finden. Aber viele Provider, die explizit Content-Management-Systeme wie zum Beispiel TYPO3 unterstützen, haben auch ImageMagick installiert, da viele Content-Management-Systeme für den Einsatz von ImageMagick oder dem Ableger GraphicsMagick programmiert wurden.

(tm), (mm)

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Dr. Web Redaktion

Dr. Web Redaktion

An einem „Dr. Web Redaktion“ Artikel arbeiten i.d.R. mehrere Autoren, unter anderem Michael Dobler, Markus Seyfferth und Jörg Mrusek.

Agenturpartner

CAF Webdesign Agentur

Berlin

pictibe – Werbeagentur & Marketingagentur

Köln

Homepage & Design Heroes GmbH

Balingen

Webtronix Media GmbH

Hanau

SEO Galaxy

Udler

Alle Agenturpartner

Jobs

Frontend-Entwickler Angular, React

Bonn

Assistent/in der Geschäfts­führung

Innsbruck

Junior Online Marketing Manager

München

Texter / Junior Content Marketing Manager

Innsbruck

Junior SEO Manager in München

München

Zum richtigen Job

Newsletter

Tipps, Tricks, Ratgeber. Unser Newsletter: Jeden Dienstag frisch gedruckt in Deinem Mail-Postfach.

Lust auf mehr? Wir empfehlen folgende Artikel:

Webdesign Trends 2022: Das erwartet uns

Animation, Interaktion und Immersion: Das neue Jahr bringt zahlreiche Trends im Webdesign mit sich und entwickelt einzelne Bereiche weiter. Bereits jetzt ist klar – in Sachen Webdesign-Trends hat das Jahr 2022 einiges zu bieten.

 →   

Google Fonts sind nicht mehr datenschutzkonform. Was nun?

Mit dem Urteil des Landgerichts München vom 20.01.2022 ist nun auch die Verwendung von Google Fonts über die Fonts API nicht mehr datenschutzkonform. Zeit sich nach einer Lösung umzusehen, wie Du dennoch Google Fonts weiterhin einsetzen kannst.

 →   

Dunkel Design – herzlich willkommen auf Dr. Web

Wir freuen uns, dass Moritz Dunkel mit seiner Agentur DNKL.DSGN aus Köln an Bord ist. Moritz Dunkel von Dunkel Design verstärkt unser Agentur-Netzwerk. Inhaltsstarke Seiten

 →   

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Dr. Web Logo weiss.

Pionier für Digitale Transformation. Seit 1997. ✅  Wissen, Tipps, Ratgeber, Dienstleister: Wir bringen wir die digitale Transformation von Unternehmen praxisnah voran.

Share on facebook
Share on twitter
Share on linkedin
Share on xing
Share on whatsapp
Share on email

Wissen finden

  • Dr. Web Autoren
  • Amazon SEO
  • Content Marketing
  • CMS
  • CSS
  • Digitalisierung
  • E-Commerce
  • Freelancer
  • Jobs & Karriere
  • Online-Marketing
  • SEO
  • UX Design
  • Webdesign
  • Website erstellen
  • WordPress
  • WooCommerce
Menü
  • Dr. Web Autoren
  • Amazon SEO
  • Content Marketing
  • CMS
  • CSS
  • Digitalisierung
  • E-Commerce
  • Freelancer
  • Jobs & Karriere
  • Online-Marketing
  • SEO
  • UX Design
  • Webdesign
  • Website erstellen
  • WordPress
  • WooCommerce

Rechtliches

  • Datenschutzerklärung
  • Geschäftsbedingungen (AGB)
  • Impressum
  • Kontakt
  • Nach oben ↑
Menü
  • Datenschutzerklärung
  • Geschäftsbedingungen (AGB)
  • Impressum
  • Kontakt
  • Nach oben ↑

Für Agenturen & Unternehmer

  • Als Agentur eintragen
  • Beste Agenturen finden
  • Städte: von A bis Z.
  • Agenturen in Augsburg
  • Agenturen in Basel
  • Agenturen in Berlin
  • Agenturen in Bochum
  • Agenturen in Bonn
  • Agenturen in Bremen
  • Agenturen in Dortmund
  • Agenturen in Dresden
  • Agenturen in Duisburg
  • Agenturen in Düsseldorf
  • Agenturen in Essen
  • Agenturen in Frankfurt am Main
  • Agenturen in Freiburg
  • Agenturen in Hamburg
  • Agenturen in Hannover
  • Agenturen in Innsbruck
  • Agenturen in Karlsruhe
  • Agenturen in Köln
  • Agenturen in Leipzig
  • Agenturen in München
  • Agenturen in Münster
  • Agenturen in Nürnberg
  • Agenturen in Offenbach am Main
  • Agenturen in Regensburg
  • Agenturen in Salzburg
  • Agenturen in Stuttgart
  • Agenturen in Wien
  • Agenturen in Zürich
  • Digitalagentur finden
  • Webdesign-Agentur finden
  • Werbeagentur finden
Menü
  • Als Agentur eintragen
  • Beste Agenturen finden
  • Städte: von A bis Z.
  • Agenturen in Augsburg
  • Agenturen in Basel
  • Agenturen in Berlin
  • Agenturen in Bochum
  • Agenturen in Bonn
  • Agenturen in Bremen
  • Agenturen in Dortmund
  • Agenturen in Dresden
  • Agenturen in Duisburg
  • Agenturen in Düsseldorf
  • Agenturen in Essen
  • Agenturen in Frankfurt am Main
  • Agenturen in Freiburg
  • Agenturen in Hamburg
  • Agenturen in Hannover
  • Agenturen in Innsbruck
  • Agenturen in Karlsruhe
  • Agenturen in Köln
  • Agenturen in Leipzig
  • Agenturen in München
  • Agenturen in Münster
  • Agenturen in Nürnberg
  • Agenturen in Offenbach am Main
  • Agenturen in Regensburg
  • Agenturen in Salzburg
  • Agenturen in Stuttgart
  • Agenturen in Wien
  • Agenturen in Zürich
  • Digitalagentur finden
  • Webdesign-Agentur finden
  • Werbeagentur finden
Das große Dr. Web Icon-Set: 970+ Icons, im SVG-Format​

Lade Dir jetzt das Icon-Set
kostenlos herunter ↓

Über 970 Dr. Web-Icons, kostenlos.
Danke nein, ist nichts für mich.
Invalid email address
Vielen Dank! Bitte schau noch in Dein Postfach und bestätige die Anmeldung.