Start · Sprachen · PHP · Referenz · ps_arc

ps_arc

Funktion

Zeichnet einen Bogen (Kreisausschnitt) gegen den Uhrzeigersinn in ein PostScript-Dokument.

Kategorie: misc

Signatur

ps_arc(resource $psdoc, float $x, float $y, float $radius, float $alpha, float $beta): bool

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

Typ
bool
Beschreibung
Gibt 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.';
?>
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.';
?>
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.