Signatur
Beschreibung
GmagickPixel ist eine Hilfsklasse der Gmagick-Erweiterung (GraphicsMagick für PHP) und dient dazu, Farbwerte zu kapseln, die bei Bildoperationen benötigt werden. Ein Objekt dieser Klasse repräsentiert typischerweise eine einzige Farbe, die z. B. als Hintergrundfarbe, Füllfarbe oder Randfarbe an andere Gmagick-Methoden übergeben werden kann.
Die Farbe kann beim Erzeugen des Objekts direkt als Farbname (z. B. 'red', 'transparent') oder als Hex-Code (z. B. '#ff8800') angegeben werden. Über getColor() lässt sich der aktuelle Farbwert wieder abrufen, und setColor() erlaubt das nachträgliche Ändern der Farbe.
GmagickPixel-Objekte werden häufig bei Methoden wie Gmagick::newImage() (Hintergrundfarbe), Gmagick::borderImage() (Randfarbe) oder Gmagick::floodfillpaintimage() (Füllfarbe) eingesetzt. Ohne diese Hilfsklasse könnten Farben in diesen Methoden nicht übergeben werden.
Zu beachten ist, dass GmagickPixel zur GraphicsMagick-Bindung gehört und nicht mit ImagickPixel aus der ImageMagick-Erweiterung kompatibel ist, obwohl beide eine ähnliche Rolle erfüllen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $color | string | Optionale Farbbeschreibung als Farbname (z. B. 'blue', 'transparent') oder als Hex-Wert (z. B. '#3366cc'). Wird kein Wert angegeben, ist der Anfangszustand undefiniert. |
Beispiele
Neues Bild mit farbigem Hintergrund erzeugen
<?php
// Gmagick-Erweiterung muss installiert sein
$pixel = new GmagickPixel('#336699');
$image = new Gmagick();
$image->newImage(200, 100, $pixel);
$image->setImageFormat('png');
file_put_contents('hintergrund.png', $image);
echo 'Bild mit blauem Hintergrund wurde gespeichert.';
?>
Farbe eines GmagickPixel-Objekts setzen und auslesen
<?php
$pixel = new GmagickPixel('red');
echo 'Anfangsfarbe: ' . $pixel->getColor() . PHP_EOL;
// Farbe nachträglich ändern
$pixel->setColor('#00ff00');
echo 'Neue Farbe: ' . $pixel->getColor() . PHP_EOL;
?>
// Wichtig · Fallstricke
Abhängigkeit: Die GmagickPixel-Klasse steht nur zur Verfügung, wenn die gmagick-PECL-Erweiterung installiert und in der php.ini aktiviert ist. Sie sollte nicht mit ImagickPixel verwechselt werden, die zur separaten imagick-Erweiterung gehört.
Farbformate: Es werden CSS-Farbnamen sowie Hex-Codes unterstützt. Bei ungültigen Farbangaben wirft GmagickPixel eine GmagickPixelException. Es empfiehlt sich daher, Farbeingaben aus externen Quellen vor der Übergabe zu validieren.
Verfügbarkeit von Methoden: Der genaue Funktionsumfang (z. B. ob getColorValue() für einzelne Kanäle verfügbar ist) kann je nach installierter Version der Gmagick-Erweiterung variieren. Die offizielle Dokumentation unter php.net/manual/de/class.gmagickpixel.php gibt Aufschluss über vorhandene Methoden.