Signatur
Beschreibung
ps_set_border_dash() legt die Länge der Striche (dash) und der Lücken (gap) für den Rahmen von Annotationen (z. B. Hyperlinks oder Notizen) in einem mit der ps-Erweiterung erzeugten PostScript-Dokument fest. Die Werte bestimmen, wie das Strichmuster des Annotationsrahmens aussieht.
Diese Funktion wird typischerweise zusammen mit ps_set_border_style() verwendet, um den Rahmenstil auf 'dashed' zu setzen, bevor eine Annotation angelegt wird. Ohne passenden Rahmenstil hat die Strichlänge keinen sichtbaren Effekt.
Die Einstellung gilt für alle nachfolgend erstellten Annotationen, bis sie erneut geändert wird. Sie hat keinen Einfluss auf reguläre Zeichenoperationen (Linien, Formen etc.), sondern ausschließlich auf Annotationsrahmen.
- b – Länge eines einzelnen Strichs in PostScript-Einheiten (Punkte).
- w – Breite der Lücke zwischen zwei Strichen in PostScript-Einheiten.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $psdoc Pflicht | resource | Die Ressource des PostScript-Dokuments, die von ps_new() zurückgegeben wurde. |
|
| $b Pflicht | float | Länge eines einzelnen Strichs im Strichmuster des Annotationsrahmens, angegeben in PostScript-Punkten. | |
| $w Pflicht | float | Breite der Lücke zwischen den Strichen des Annotationsrahmens, angegeben in PostScript-Punkten. |
Rückgabewert
true bei Erfolg zurück, false im Fehlerfall.Beispiele
Gestrichelter Rahmen für einen Hyperlink in einem PS-Dokument
<?php
$ps = ps_new();
if (!ps_open_file($ps, '/tmp/annotation_dash.ps')) {
die('Datei konnte nicht geöffnet werden.');
}
ps_set_info($ps, 'Creator', 'Referenzbeispiel');
ps_begin_page($ps, 595, 842);
// Rahmenstil auf gestrichelt setzen
ps_set_border_style($ps, 'dashed', 2.0);
// Strichlänge: 6 Punkte, Lücke: 3 Punkte
ps_set_border_dash($ps, 6.0, 3.0);
// Rahmenfarbe festlegen
ps_set_border_color($ps, 0.0, 0.0, 1.0);
// Hyperlink-Annotation einfügen
ps_add_weblink($ps, 100, 700, 300, 720, 'https://programmierung.net');
ps_end_page($ps);
ps_close($ps);
ps_delete($ps);
echo 'PostScript-Dokument mit gestricheltem Annotationsrahmen erstellt.';
?>
Verschiedene Strichmuster für mehrere Annotationen
<?php
$ps = ps_new();
ps_open_file($ps, '/tmp/multi_annotation.ps');
ps_set_info($ps, 'Creator', 'Dash-Beispiel');
ps_begin_page($ps, 595, 842);
// Erste Annotation: kurze Striche, kleine Lücken
ps_set_border_style($ps, 'dashed', 1.5);
ps_set_border_dash($ps, 3.0, 2.0);
ps_set_border_color($ps, 1.0, 0.0, 0.0);
ps_add_weblink($ps, 50, 780, 250, 800, 'https://example.com/seite1');
// Zweite Annotation: lange Striche, größere Lücken
ps_set_border_dash($ps, 10.0, 5.0);
ps_set_border_color($ps, 0.0, 0.5, 0.0);
ps_add_weblink($ps, 50, 750, 250, 770, 'https://example.com/seite2');
ps_end_page($ps);
ps_close($ps);
ps_delete($ps);
echo 'Dokument mit zwei verschieden gestrichelten Annotationen erstellt.';
?>
// Wichtig · Fallstricke
Erweiterung: Diese Funktion gehört zur ps-Erweiterung (pecl/ps), die standardmäßig nicht im PHP-Kern enthalten ist. Sie muss separat installiert werden (pecl install ps).
Reihenfolge der Aufrufe: ps_set_border_dash() sollte stets vor dem Erstellen der Annotation und nach ps_set_border_style() mit dem Stil 'dashed' aufgerufen werden, damit die Einstellung wirksam ist.
Einheit: Alle Längenangaben beziehen sich auf PostScript-Punkte (1 Punkt ≈ 0,352 mm). Wird b oder w auf 0 gesetzt, kann das Ergebnis undefiniert oder vom PS-Viewer abhängig sein.