Start · Sprachen · PHP · Referenz · ps_rect

ps_rect

Funktion

Zeichnet ein Rechteck in einem PostScript-Dokument an der angegebenen Position mit der angegebenen Breite und Höhe.

Kategorie: misc

Signatur

ps_rect(resource $psdoc, float $x, float $y, float $width, float $height): bool

Beschreibung

ps_rect() ist Teil der PS-Erweiterung (pslib) von PHP und zeichnet ein Rechteck in das aktuelle PostScript-Dokument. Das Rechteck wird durch seinen unteren linken Eckpunkt (x, y) sowie seine Breite (width) und Höhe (height) definiert.

Die Funktion fügt den Rechteckpfad zur aktuellen Pfadliste hinzu. Um das Rechteck sichtbar zu machen, muss es anschließend mit ps_stroke() (für Konturlinien) oder ps_fill() (für gefüllte Flächen) gerendert werden. Es kann auch ps_stroke_and_fill() verwendet werden, um beides in einem Schritt durchzuführen.

Das Koordinatensystem von PostScript beginnt standardmäßig unten links auf der Seite, wobei die Y-Achse nach oben zeigt. Alle Maße werden in PostScript-Punkten (pt) angegeben, wobei 1 Punkt = 1/72 Zoll entspricht.

ps_rect() eignet sich besonders für die Erstellung von Rahmenelementen, Tabellenstrukturen, Hintergrundrechtecken oder anderen geometrischen Formen in programmatisch erzeugten PDF- oder PS-Dokumenten.

Parameter

Name Typ Default Beschreibung
$psdoc Pflicht resource Die Ressource des PostScript-Dokuments, die durch ps_new() erzeugt wurde.
$x Pflicht float Die X-Koordinate der unteren linken Ecke des Rechtecks in PostScript-Punkten.
$y Pflicht float Die Y-Koordinate der unteren linken Ecke des Rechtecks in PostScript-Punkten.
$width Pflicht float Die Breite des Rechtecks in PostScript-Punkten.
$height Pflicht float Die Höhe des Rechtecks in PostScript-Punkten.

Rückgabewert

Typ
bool
Beschreibung
Gibt true bei Erfolg zurück, false im Fehlerfall.

Beispiele

Einfaches Rechteck mit Kontur zeichnen

<?php
// PostScript-Dokument erstellen
$ps = ps_new();

if (!ps_open_file($ps, '/tmp/rechteck.ps')) {
    die('Konnte PostScript-Datei nicht öffnen.');
}

ps_set_info($ps, 'Creator', 'rechteck_beispiel.php');
ps_set_info($ps, 'Title', 'Rechteck-Beispiel');

// Seite beginnen (DIN A4: 595 x 842 Punkte)
ps_begin_page($ps, 595, 842);

// Linienfarbe auf Schwarz setzen
ps_setcolor($ps, 'stroke', 'rgb', 0.0, 0.0, 0.0, 0.0);

// Linienbreite auf 2 Punkte setzen
ps_setlinewidth($ps, 2.0);

// Rechteck bei x=100, y=400, Breite=200, Höhe=150 zeichnen
ps_rect($ps, 100, 400, 200, 150);

// Kontur rendern
ps_stroke($ps);

ps_end_page($ps);
ps_close($ps);
ps_delete($ps);

echo 'PostScript-Datei erfolgreich erstellt.';
?>
PostScript-Datei erfolgreich erstellt.

Gefülltes Rechteck mit Rahmen zeichnen

<?php
$ps = ps_new();

if (!ps_open_file($ps, '/tmp/gefuelltes_rechteck.ps')) {
    die('Konnte PostScript-Datei nicht öffnen.');
}

ps_set_info($ps, 'Creator', 'gefuelltes_rechteck.php');
ps_set_info($ps, 'Title', 'Gefülltes Rechteck');

ps_begin_page($ps, 595, 842);

// Füllfarbe auf Hellblau setzen
ps_setcolor($ps, 'fill', 'rgb', 0.6, 0.8, 1.0, 0.0);

// Strichfarbe auf Dunkelblau setzen
ps_setcolor($ps, 'stroke', 'rgb', 0.0, 0.0, 0.6, 0.0);

ps_setlinewidth($ps, 3.0);

// Rechteck zeichnen
ps_rect($ps, 150, 300, 300, 200);

// Gleichzeitig füllen und Kontur zeichnen
ps_fill_stroke($ps);

ps_end_page($ps);
ps_close($ps);
ps_delete($ps);

echo 'Gefülltes Rechteck erfolgreich erstellt.';
?>
Gefülltes Rechteck erfolgreich erstellt.

// Wichtig · Fallstricke

Achtung: Die PS-Erweiterung (pslib) ist nicht standardmäßig in PHP enthalten und muss separat installiert werden. Seit PHP 8.0 ist die Erweiterung als veraltet zu betrachten und wird möglicherweise nicht mehr aktiv gepflegt.

Das PostScript-Koordinatensystem hat seinen Ursprung unten links auf der Seite — im Gegensatz zu vielen Grafiksystemen, die den Ursprung oben links verwenden. Dies muss beim Positionieren von Elementen berücksichtigt werden.

Ein Rechteckpfad wird erst durch expliziten Aufruf von ps_stroke(), ps_fill() oder ps_fill_stroke() sichtbar. Ohne diesen Schritt bleibt das Rechteck unsichtbar im Pfad-Puffer.