Start · Sprachen · PHP · Referenz · UI\Draw\Line\Cap

UI\Draw\Line\Cap

Klasse

Enum-Klasse mit Konstantenwerten für die Endkappen-Stile von gezeichneten Linien in der UI-Erweiterung.

seit PHP 0.9.9 Kategorie: misc

Signatur

class UI\Draw\Line\Cap

Beschreibung

UI\Draw\Line\Cap ist eine Enum-artige Klasse der PHP-UI-Erweiterung (php-ui / libui), die Konstantenwerte für die verschiedenen Endkappen-Stile von Linien bereitstellt. Mit diesen Stilen lässt sich steuern, wie das Ende einer gezeichneten Linie aussieht.

Die Klasse wird in Verbindung mit UI\Draw\Stroke verwendet, wo der Endkappen-Stil als Parameter übergeben wird. Die drei verfügbaren Stile sind UI\Draw\Line\Cap::Flat (flach, bündig mit dem Endpunkt), UI\Draw\Line\Cap::Round (abgerundet, halbkreisförmig über den Endpunkt hinaus) und UI\Draw\Line\Cap::Square (rechteckig, über den Endpunkt hinausragend, ähnlich wie Flat, aber mit einem kleinen Überstand).

Diese Klasse ist Teil der experimentellen UI-Erweiterung für PHP, die auf der nativen GUI-Bibliothek libui basiert. Sie eignet sich für Desktop-Anwendungen, die mit PHP und nativen UI-Elementen gezeichnet werden sollen.

Beispiele

Linie mit abgerundetem Endkappen-Stil zeichnen

<?php
use UI\Draw\Pen;
use UI\Draw\Stroke;
use UI\Draw\Line\Cap;
use UI\Draw\Line\Join;
use UI\Draw\Color;
use UI\Draw\Path;

// Stroke mit rundem Endkappen-Stil erstellen
$stroke = new Stroke(
    Cap::Round,   // Endkappen-Stil: abgerundet
    Join::Miter,  // Verbindungsstil
    2.0,          // Linienbreite
    10.0          // Miter-Limit
);

// Pfad für eine einfache Linie erstellen
$path = new Path(Path::Winding);
$path->newFigure(10, 50);
$path->lineTo(200, 50);
$path->end();

// Linie auf dem Pen zeichnen
/** @var Pen $pen */
$pen->stroke($path, new Color(0, 0, 0, 1), $stroke);

Verschiedene Endkappen-Stile vergleichen

<?php
use UI\Draw\Line\Cap;

// Verfügbare Endkappen-Stile ausgeben
$caps = [
    'Flat'   => Cap::Flat,
    'Round'  => Cap::Round,
    'Square' => Cap::Square,
];

foreach ($caps as $name => $value) {
    echo sprintf("Cap::%s = %d\n", $name, $value);
}
Cap::Flat = 0 Cap::Round = 1 Cap::Square = 2

// Wichtig · Fallstricke

Hinweis: Die PHP-UI-Erweiterung ist experimentell und wird nicht mit dem offiziellen PHP-Kern ausgeliefert. Sie muss separat installiert werden (z. B. über PECL: pecl install ui). Die API kann sich zwischen Versionen ändern.

Cap::Flat und Cap::Square sehen sich ähnlich, unterscheiden sich jedoch dadurch, dass Square das Ende der Linie um die halbe Linienbreite über den Endpunkt hinaus verlängert, während Flat genau am Endpunkt endet.