Start · Sprachen · PHP · Referenz · ps_set_border_color

ps_set_border_color

Funktion

Setzt die Rahmenfarbe von Annotationen (Links) in einem PostScript-Dokument.

Kategorie: misc

Signatur

ps_set_border_color(resource $psdoc, float $red, float $green, float $blue): bool

Beschreibung

ps_set_border_color legt die Farbe des sichtbaren Rahmens fest, der um Annotationen (z. B. Hyperlinks) in einem mit der ps-Erweiterung erzeugten PostScript-Dokument gezeichnet wird. Die Farbe wird im RGB-Farbraum angegeben, wobei jeder Kanal einen Wert zwischen 0.0 und 1.0 annimmt.

Die Funktion muss vor dem Erstellen der jeweiligen Annotation aufgerufen werden, da sie den internen Zustand des Dokuments für zukünftige Annotationen setzt. Sie wirkt sich ausschließlich auf Rahmenfarben aus – nicht auf Füllfarben oder andere grafische Eigenschaften von Annotationen.

In Kombination mit ps_set_border_style und ps_set_border_dash lässt sich das Erscheinungsbild von Annotationsrahmen vollständig steuern, z. B. für die Darstellung klickbarer Linkbereiche in generierten PDF- oder PostScript-Ausgaben.

Parameter

Name Typ Default Beschreibung
$psdoc Pflicht resource Die Ressource des PostScript-Dokuments, wie sie von ps_new() zurückgegeben wird.
$red Pflicht float Rotanteil der Rahmenfarbe als Gleitkommazahl im Bereich 0.0 (kein Rot) bis 1.0 (volles Rot).
$green Pflicht float Grünanteil der Rahmenfarbe als Gleitkommazahl im Bereich 0.0 (kein Grün) bis 1.0 (volles Grün).
$blue Pflicht float Blauanteil der Rahmenfarbe als Gleitkommazahl im Bereich 0.0 (kein Blau) bis 1.0 (volles Blau).

Rückgabewert

Typ
bool
Beschreibung
Gibt true bei Erfolg zurück, false im Fehlerfall (z. B. wenn die übergebene Ressource ungültig ist).

Beispiele

Roten Rahmen für einen Hyperlink setzen

<?php
// Neues PostScript-Dokument erzeugen
$psdoc = ps_new();
ps_open_file($psdoc, 'ausgabe.ps');
ps_begin_page($psdoc, 595, 842);

// Rahmenfarbe auf Rot setzen (R=1, G=0, B=0)
ps_set_border_color($psdoc, 1.0, 0.0, 0.0);

// Annotation (Hyperlink) mit rotem Rahmen erstellen
ps_add_weblink($psdoc, 100, 700, 300, 720, 'https://programmierung.net');

ps_end_page($psdoc);
ps_close($psdoc);
ps_delete($psdoc);
echo 'PostScript-Dokument mit rotem Link-Rahmen erzeugt.';
?>
PostScript-Dokument mit rotem Link-Rahmen erzeugt.

Blauen Rahmen für einen internen Link setzen

<?php
$psdoc = ps_new();
ps_open_file($psdoc, 'intern.ps');
ps_begin_page($psdoc, 595, 842);

// Rahmenfarbe auf Blau setzen (R=0, G=0, B=1)
ps_set_border_color($psdoc, 0.0, 0.0, 1.0);

// Linienbreite und Stil des Rahmens zusätzlich konfigurieren
ps_set_border_style($psdoc, 'solid', 2.0);

// Internen Link hinzufügen
ps_add_locallink($psdoc, 50, 750, 250, 770, 2, 'fitpage');

ps_end_page($psdoc);
ps_close($psdoc);
ps_delete($psdoc);
echo 'PostScript-Dokument mit blauem internen Link-Rahmen erzeugt.';
?>
PostScript-Dokument mit blauem internen Link-Rahmen erzeugt.

// Wichtig · Fallstricke

Hinweis zur Erweiterung: ps_set_border_color gehört zur ps-PECL-Erweiterung (pslib), die in Standard-PHP-Installationen meist nicht enthalten ist. Sie muss separat installiert und aktiviert werden. Prüfen Sie mit extension_loaded('ps'), ob die Erweiterung verfügbar ist.

Die gesetzten Werte gelten global für alle nachfolgend erstellten Annotationen im Dokument, bis sie erneut geändert werden. Farbanteile außerhalb des Bereichs 0.01.0 führen zu undefiniertem Verhalten.