Signatur
Beschreibung
ps_arc gehört zur ps-Erweiterung (pslib) und zeichnet einen Bogen entlang eines Kreises mit gegebenem Mittelpunkt und Radius in Gegenuhrzeigerrichtung. Der Bogen beginnt beim Winkel alpha und endet bei beta, wobei beide Winkel in Grad angegeben werden.
Die Funktion erzeugt nur den Pfad; damit der Bogen sichtbar wird, muss er anschließend mit einer Funktion wie ps_stroke (Linie) oder ps_fill (Fläche) gerendert werden. Sie eignet sich für das Zeichnen von Kreisbögen, Tortendiagrammen und runden Elementen in PostScript-Dokumenten.
Die Koordinaten x und y sowie der radius werden in den Einheiten des aktuellen PostScript-Koordinatensystems (Punkte) angegeben. Das Koordinatensystem hat seinen Ursprung standardmäßig unten links.
Für einen Bogen im Uhrzeigersinn steht die komplementäre Funktion ps_arcn zur Verfügung.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $psdoc Pflicht | resource | Eine gültige PostScript-Dokumentressource, die zuvor mit ps_new() erstellt und mit ps_open_file() geöffnet wurde. |
|
| $x Pflicht | float | Die X-Koordinate des Mittelpunkts des Kreises, auf dem der Bogen liegt, in Punkten. | |
| $y Pflicht | float | Die Y-Koordinate des Mittelpunkts des Kreises, auf dem der Bogen liegt, in Punkten. | |
| $radius Pflicht | float | Der Radius des Kreises in Punkten, auf dem der Bogen gezeichnet wird. | |
| $alpha Pflicht | float | Der Startwinkel des Bogens in Grad (0° entspricht der 3-Uhr-Position, d. h. der positiven X-Achse). | |
| $beta Pflicht | float | Der Endwinkel des Bogens in Grad, gemessen gegen den Uhrzeigersinn ab der positiven X-Achse. |
Rückgabewert
true bei Erfolg zurück, false im Fehlerfall.Beispiele
Einfachen Halbkreis zeichnen
<?php
// PostScript-Dokument erstellen und öffnen
$ps = ps_new();
ps_open_file($ps, 'halbkreis.ps');
ps_begin_page($ps, 595, 842); // DIN A4
// Farbe setzen (Rot)
ps_setcolor($ps, 'stroke', 'rgb', 1.0, 0.0, 0.0, 0.0);
// Linienstärke setzen
ps_setlinewidth($ps, 2.0);
// Halbkreis gegen den Uhrzeigersinn von 0° bis 180° zeichnen
ps_arc($ps, 297.5, 421.0, 100.0, 0.0, 180.0);
// Pfad als Linie sichtbar machen
ps_stroke($ps);
ps_end_page($ps);
ps_close($ps);
ps_delete($ps);
echo 'Halbkreis erfolgreich gezeichnet.';
?>
Vollkreis zeichnen (0° bis 360°)
<?php
$ps = ps_new();
ps_open_file($ps, 'vollkreis.ps');
ps_begin_page($ps, 595, 842);
// Füllfarbe Blau
ps_setcolor($ps, 'fill', 'rgb', 0.0, 0.0, 1.0, 0.0);
// Vollkreis durch Bogen von 0° bis 360° gegen den Uhrzeigersinn
ps_arc($ps, 297.5, 421.0, 80.0, 0.0, 360.0);
// Pfad füllen
ps_fill($ps);
ps_end_page($ps);
ps_close($ps);
ps_delete($ps);
echo 'Vollkreis erfolgreich gezeichnet.';
?>
// Wichtig · Fallstricke
Erweiterung erforderlich: ps_arc setzt die PECL-Erweiterung ps (pslib) voraus, die nicht standardmäßig in PHP enthalten ist und separat installiert werden muss (pecl install ps).
Koordinatenursprung: Das PostScript-Koordinatensystem hat seinen Ursprung standardmäßig unten links auf der Seite, im Gegensatz zu vielen anderen Grafiksystemen. Winkel von 0° entsprechen der 3-Uhr-Position (positive X-Achse).
Pfad vs. Ausgabe: ps_arc erzeugt nur einen Pfad. Ohne anschließendes ps_stroke(), ps_fill() oder ps_fill_stroke() ist der Bogen in der Ausgabedatei nicht sichtbar.
Für einen Bogen im Uhrzeigersinn steht die Funktion ps_arcn zur Verfügung.