Signatur
Beschreibung
ps_makespotcolor() definiert eine neue Schmuckfarbe (auch Spot Color genannt) innerhalb eines mit der PHP-PS-Erweiterung erstellten PostScript-Dokuments. Schmuckfarben sind benannte Sonderfarben, die im Druckwesen eingesetzt werden, wenn eine exakte Farbwiedergabe mit einem speziellen Druckfarbton (z. B. Pantone-Farben) gefordert ist.
Bevor ps_makespotcolor() aufgerufen werden kann, muss die gewünschte Basisfarbe mit einer der Farbfunktionen (z. B. ps_setcolor()) gesetzt worden sein. Diese Basisfarbe dient als Fallback-Darstellung der Schmuckfarbe in Geräten, die keine Spot Colors unterstützen.
Der zurückgegebene Integer-Wert ist die interne Kennung der Schmuckfarbe, die anschließend mit ps_setcolor() und dem Farbtyp spot genutzt werden kann, um Elemente im Dokument in dieser Farbe zu zeichnen oder zu füllen.
Schmuckfarben werden insbesondere im professionellen Offsetdruck verwendet, etwa für Firmenlogos oder Verpackungsdesigns, bei denen eine normgetreue Farbwiedergabe unerlässlich ist.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $psdoc Pflicht | resource | Die Ressource des PostScript-Dokuments, wie sie von ps_new() zurückgegeben wurde. |
|
| $name Pflicht | string | Der eindeutige Name der Schmuckfarbe, z. B. "PANTONE 485 C". Dieser Name wird in der PostScript-Ausgabe verwendet und muss dem Drucksystem bekannt sein. |
|
| $reserved | int | 0 | Reservierter Parameter, der aktuell nicht verwendet wird. Standardmäßig 0. |
Rückgabewert
ps_setcolor() mit dem Typ "spot" anzuwenden. Im Fehlerfall wird 0 zurückgegeben.Beispiele
Schmuckfarbe erstellen und anwenden
<?php
// Neues PostScript-Dokument erstellen
$psdoc = ps_new();
ps_open_file($psdoc, '/tmp/spotcolor.ps');
ps_begin_page($psdoc, 595, 842);
// Basisfarbe (CMYK-Fallback) setzen, bevor die Spot Color definiert wird
ps_setcolor($psdoc, 'fill', 'cmyk', 0.0, 1.0, 1.0, 0.0);
// Schmuckfarbe "PANTONE 485 C" (Rot) erstellen
$spotId = ps_makespotcolor($psdoc, 'PANTONE 485 C');
// Schmuckfarbe zum Füllen aktivieren
ps_setcolor($psdoc, 'fill', 'spot', $spotId, 1.0, 0.0, 0.0);
// Ein gefülltes Rechteck in der Schmuckfarbe zeichnen
ps_rect($psdoc, 50, 700, 200, 100);
ps_fill($psdoc);
ps_end_page($psdoc);
ps_close($psdoc);
ps_delete($psdoc);
echo "PostScript-Datei mit Schmuckfarbe erstellt.";
?>
Mehrere Schmuckfarben in einem Dokument
<?php
$psdoc = ps_new();
ps_open_file($psdoc, '/tmp/multispot.ps');
ps_begin_page($psdoc, 595, 842);
// Erste Schmuckfarbe: Blau
ps_setcolor($psdoc, 'fill', 'cmyk', 1.0, 0.5, 0.0, 0.0);
$blueSpot = ps_makespotcolor($psdoc, 'PANTONE 2728 C');
// Zweite Schmuckfarbe: Grün
ps_setcolor($psdoc, 'fill', 'cmyk', 0.9, 0.0, 0.7, 0.1);
$greenSpot = ps_makespotcolor($psdoc, 'PANTONE 348 C');
// Blaues Rechteck zeichnen
ps_setcolor($psdoc, 'fill', 'spot', $blueSpot, 1.0, 0.0, 0.0);
ps_rect($psdoc, 50, 650, 200, 80);
ps_fill($psdoc);
// Grünes Rechteck zeichnen
ps_setcolor($psdoc, 'fill', 'spot', $greenSpot, 1.0, 0.0, 0.0);
ps_rect($psdoc, 300, 650, 200, 80);
ps_fill($psdoc);
ps_end_page($psdoc);
ps_close($psdoc);
ps_delete($psdoc);
echo "Dokument mit zwei Schmuckfarben erstellt.";
?>
// Wichtig · Fallstricke
Reihenfolge beachten: Die Basisfarbe (CMYK- oder RGB-Fallback) muss vor dem Aufruf von ps_makespotcolor() mit ps_setcolor() gesetzt werden. Andernfalls wird keine korrekte Fallback-Darstellung für Geräte ohne Spot-Color-Unterstützung erzeugt.
Abhängigkeit von der PS-Erweiterung: ps_makespotcolor() setzt die PHP-Erweiterung ps voraus, die auf vielen Systemen nicht standardmäßig installiert ist. Sie ist außerdem nicht mit der häufig verwendeten imagick- oder GD-Bibliothek verwandt.
Intensitätswert: Beim Anwenden der Schmuckfarbe via ps_setcolor() gibt der zweite numerische Parameter (0.0–1.0) die Intensität der Spot Color an.