Start · Sprachen · PHP · Referenz · UI\Draw\Brush

UI\Draw\Brush

Klasse

Repräsentiert einen Pinsel zum Füllen und Umranden von Zeichnungselementen innerhalb der UI-Erweiterung.

seit PHP 0.9.9 Kategorie: misc

Signatur

class UI\Draw\Brush

Beschreibung

UI\Draw\Brush ist Teil der PHP-UI-Erweiterung (ui) und repräsentiert einen Pinsel, der beim Zeichnen von Formen, Pfaden und Texten auf einem UI\Draw\Context verwendet wird. Ein Pinsel definiert, wie Flächen und Linien koloriert werden – zum Beispiel als einfarbiger Pinsel (Solid) oder als Farbverlauf.

Die Klasse wird typischerweise zusammen mit UI\Draw\Path und UI\Draw\Context verwendet: Zunächst wird ein Pfad definiert, dann wird mit einem Brush angegeben, welche Farbe oder welcher Farbverlauf beim Füllen (fill) oder beim Umranden (stroke) verwendet werden soll.

Bei der Erstellung eines Pinsels wird der Typ über eine Konstante festgelegt. Der häufigste Typ ist UI\Draw\Brush\Type::Solid, der einen gleichmäßigen, einfarbigen Pinsel erzeugt. Daneben existieren Verlaufstypen wie Linear und Radial für Farbverläufe sowie Image für bildbasierte Pinsel.

Die Farbe des Pinsels wird über ein UI\Draw\Color-Objekt gesetzt, das RGBA-Werte enthält. Die UI-Erweiterung ist nicht standardmäßig in PHP enthalten und muss separat als PECL-Paket installiert werden.

Parameter

Name Typ Default Beschreibung
$type int UI\Draw\Brush\Type::Solid Der Pinseltyp, angegeben als eine der Konstanten aus UI\Draw\Brush\Type. Übliche Werte: UI\Draw\Brush\Type::Solid, UI\Draw\Brush\Type::LinearGradient, UI\Draw\Brush\Type::RadialGradient.

Beispiele

Einfarbigen Pinsel erstellen und zum Füllen eines Rechtecks verwenden

<?php
use UI\Draw\Brush;
use UI\Draw\Brush\Type;
use UI\Draw\Color;
use UI\Draw\Path;
use UI\Draw\Context;

// Einfarbigen (soliden) Pinsel erstellen
$brush = new Brush(Type::Solid);

// Farbe auf ein sattes Blau mit voller Deckkraft setzen
$brush->color = new Color(0.0, 0.4, 0.8, 1.0);

// Einen Pfad (Rechteck) erstellen
$path = new Path(Path::Winding);
$path->addRectangle(10, 10, 200, 100);
$path->end();

// Innerhalb eines Draw-Handlers (z. B. UI\Area) den Kontext zum Füllen nutzen
// $context->fill($path, $brush);
echo "Pinsel erfolgreich erstellt und konfiguriert.";
Pinsel erfolgreich erstellt und konfiguriert.

Linearen Farbverlauf-Pinsel konfigurieren

<?php
use UI\Draw\Brush;
use UI\Draw\Brush\Type;
use UI\Draw\Color;
use UI\Point;

// Linearen Farbverlauf-Pinsel erstellen
$brush = new Brush(Type::LinearGradient);

// Start- und Endpunkt des Verlaufs festlegen
$brush->start = new Point(0, 0);
$brush->end   = new Point(300, 0);

// Verlaufsstopps hinzufügen: Rot nach Gelb
$brush->stops = [
    0.0 => new Color(1.0, 0.0, 0.0, 1.0), // Rot am Anfang
    1.0 => new Color(1.0, 1.0, 0.0, 1.0), // Gelb am Ende
];

echo "Linearer Farbverlauf-Pinsel konfiguriert.";
Linearer Farbverlauf-Pinsel konfiguriert.

// Wichtig · Fallstricke

Hinweis zur Verfügbarkeit: Die ui-Erweiterung ist kein Bestandteil der Standard-PHP-Distribution und muss über PECL installiert werden (pecl install ui). Sie basiert auf der libui-Bibliothek und ist primär für Desktop-GUI-Anwendungen gedacht – nicht für Web-Server-Einsatz.

Plattformunterstützung: Die Erweiterung unterstützt Windows, macOS und Linux, jedoch kann das Verhalten und die Verfügbarkeit einzelner Pinseltypen je nach Betriebssystem und libui-Version variieren.

Eigenschaften: Abhängig vom Pinseltyp sind unterschiedliche Eigenschaften (color, start, end, stops usw.) relevant. Das Setzen von Eigenschaften, die zum gewählten Typ nicht passen, kann zu unerwartetem Verhalten führen.