Home > PHP > PHP Klasse: CSSSprites

PHP Klasse: CSSSprites

Viele Webseiten-Designer setzen mittlerweile auf CSS-Sprites. Wen jemand nicht weis was CSS Sprites sind findet hier eine einfache Erklärung. Da die Icons, Symbole und Bilder in einer einzigen Datei zusammengefasst sind gibt es prinzipiell zwei Wege dies zu bewerkstelligen:

  1. Manuell mittels beliebigem Bildbearbeitungsprogramm.
  2. Automatisierung mittels Skript / Generator.

Es gibt mittlerweile CSS Sprites Generatoren wie Sand am Meer. Beispielsweise unter http://csssprites.com oder http://spritegen.website-performance.org. Meine Klasse CSSSprites ist prinzipiell nichts anderes, außer das diese direkt in eurem Projekt eingebunden werden kann und die Berechnung auf eurem Server übernimmt. Das Ergebnis kann dann gecachet werden und muss nicht jedes Mal neu berechnet werden.

Da die Klasse relativ einfach aufgebaut ist, sollte es nicht allzu schwer sein, diese in ein eigenes Projekt zu integrieren. Die wichtigsten Methoden wären:

  1. addImageFolder($folder) – Ein Verzeichnis hinzufügen. Alle Bilder innerhalb werden später auf das große Bild platziert.
  2. setCacheFolder($folder) – Ein Verzeichnis mit Schreibrechten in welches das berechnete Bild abgespeichert wird.
  3. setCacheTime($time) – Gibt an wie lang das berechnete Bild Gültigkeit hat, bevor es erneuert werden soll. (Tipp: Wert 0 = Kein Caching, Wert < 0 = Niemals erneuern).
  4. getStylesheet($directionX) - Liefert das komplette Stylesheet zurück. Der Parameter gibt an ob die Icons horizontal (true) oder vertikal (false) platziert werden sollen.

Wer die Klasse mal testen möchte, kann diese hier herunterladen. Die einzige Anforderung an den Webserver ist die GDLib, aber diese sollte sowieso auf jedem PHP-Webserver vorhanden sein.

KategorienPHP
  1. Reiner
    21. Oktober 2012, 17:52 | #1

    Super genial!
    Ist die Klasse irgendwie lizensiert (LGPL, MIT)?

  2. Christoph
    21. Oktober 2012, 23:27 | #2

    @Reiner
    Ja klar, das steht unter der “Mach-damit-was-du-willst”-Lizenz.
    Benutze Sie in kommerziellen und nicht-kommerziellen Projekten so wie du möchtest und ändere was immer du willst. Kannst du also uneingeschränkt benutzen.

    Würde mich nur freuen einen kurzen Kommentar zu bekommen, wenn es irgendwo eingebaut wird, was öffentlich zugänglich ist. Rein aus Interesse.

  3. Christoph
    8. Januar 2013, 00:31 | #3

    Nun wird also meine Klasse auch in “Contao Open Source CMS” verwendet… Nice ;)

    Weitere Informationen: http://contao.org/de/extension-list/fileview/cssspritegen.de.html

  1. Bisher keine Trackbacks