Signatur
Beschreibung
ps_circle() ist Teil der PS-Erweiterung (PostScript) für PHP und zeichnet einen Kreis in das aktuelle PostScript-Dokument. Der Mittelpunkt des Kreises wird durch die Koordinaten x und y definiert, der Radius durch den Parameter radius. Die Koordinaten beziehen sich auf das PostScript-Koordinatensystem, bei dem der Ursprung (0, 0) standardmäßig unten links liegt.
Die Funktion fügt lediglich den Kreispfad zum aktuellen Zeichenpfad hinzu. Um den Kreis sichtbar zu machen, muss anschließend eine Zeichenoperation wie ps_stroke() (nur Umriss) oder ps_fill() (gefüllt) bzw. ps_fill_stroke() (gefüllt und mit Umriss) aufgerufen werden.
Linienfarbe, Linienstärke und Füllfarbe können zuvor über Funktionen wie ps_setcolor() und ps_setlinewidth() konfiguriert werden. ps_circle() eignet sich überall dort, wo exakte Kreise in PostScript-Ausgaben benötigt werden, z. B. bei der Erstellung von Diagrammen, Grafiken oder technischen Zeichnungen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $psdoc Pflicht | resource | Die Ressource des PostScript-Dokuments, die zuvor mit ps_new() erzeugt wurde. |
|
| $x Pflicht | float | Die X-Koordinate des Kreismittelpunkts im PostScript-Koordinatensystem (in Punkt, 1 Punkt = 1/72 Zoll). | |
| $y Pflicht | float | Die Y-Koordinate des Kreismittelpunkts im PostScript-Koordinatensystem (in Punkt, 1 Punkt = 1/72 Zoll). | |
| $radius Pflicht | float | Der Radius des Kreises in Punkt (1 Punkt = 1/72 Zoll). |
Rückgabewert
true bei Erfolg zurück, oder false bei einem Fehler, z. B. wenn die übergebene Ressource ungültig ist.Beispiele
Einfachen Kreis mit Umriss zeichnen
<?php
// Neues PostScript-Dokument erstellen
$ps = ps_new();
if (!ps_open_file($ps, '/tmp/kreis.ps')) {
die('Datei konnte nicht geöffnet werden.');
}
ps_begin_page($ps, 595, 842); // DIN A4
// Linienfarbe auf Schwarz setzen
ps_setcolor($ps, 'stroke', 'rgb', 0.0, 0.0, 0.0, 0.0);
// Linienstärke setzen
ps_setlinewidth($ps, 2.0);
// Kreis mit Mittelpunkt (297, 421) und Radius 100 Punkt zeichnen
ps_circle($ps, 297, 421, 100);
// Nur den Umriss zeichnen
ps_stroke($ps);
ps_end_page($ps);
ps_close($ps);
ps_delete($ps);
echo 'Kreis erfolgreich gezeichnet.';
?>
Gefüllten farbigen Kreis zeichnen
<?php
$ps = ps_new();
if (!ps_open_file($ps, '/tmp/gefuellter_kreis.ps')) {
die('Datei konnte nicht geöffnet werden.');
}
ps_begin_page($ps, 595, 842);
// Füllfarbe auf Blau setzen
ps_setcolor($ps, 'fill', 'rgb', 0.0, 0.0, 1.0, 0.0);
// Umrissfarbe auf Dunkelblau setzen
ps_setcolor($ps, 'stroke', 'rgb', 0.0, 0.0, 0.5, 0.0);
ps_setlinewidth($ps, 3.0);
// Kreis zeichnen
ps_circle($ps, 297, 421, 150);
// Gefüllt und mit Umriss ausgeben
ps_fill_stroke($ps);
ps_end_page($ps);
ps_close($ps);
ps_delete($ps);
echo 'Gefüllter Kreis erfolgreich gezeichnet.';
?>
// Wichtig · Fallstricke
Voraussetzung: Die PS-Erweiterung muss in PHP aktiviert sein (ext/ps). Sie ist nicht standardmäßig enthalten und muss über PECL installiert werden. Ohne eine abschließende Zeichenoperation (ps_stroke(), ps_fill() oder ps_fill_stroke()) ist der Kreis in der Ausgabedatei nicht sichtbar.
Das PostScript-Koordinatensystem hat seinen Ursprung unten links, was dem mathematischen Koordinatensystem entspricht, aber vom Bildschirm-Koordinatensystem abweicht, bei dem der Ursprung oben links liegt. Bei der Positionierung von Elementen muss dies berücksichtigt werden.