class Image extends Alvine

Bildklasse

Die Bildklasse erlaubt einen bequemen Zugriff auf Bildressourcen. Über ein neues Bild-Objekt und den dazugehörigen Operatoren können eine Reihe von Bildbearbeitungen direkt erledigt werden.

// Neues Stream erstellen
$stream = Alvine\IO\FileInputStream::fromCurrentFilename('img.png');
// Bildobjekt erstellen
$img = \Alvine\Image\Image::load($stream);

Über das Imageobjekt können jetzt die Operationen nacheinander durchgeführt werden.

// Bild verkleinern, drehen und spiegeln in einem Aufruf.
$img->resize(200,200)->rotate(45)->mirror();

Aktuell unterstützt das Framework über die GDLib die Webformate JPG, GIF, PNG.

Properties

protected int $width
protected int $height
protected boolean $detach Schalter der festlegt ob die Ressource beim Löschen des Imageobjektes auch gelöscht werden soll.
protected Color $canvasColor

Methods

__construct(resource $resource)

Erstellt ein neues Image-Objekt

__destruct()

Datenstruktur zerstören

boolean
equals(Alvine $object)

Vergleich

destroy()

Resource freigegeben

static Image
create(integer $width, integer $height)

Image-Objekt erstellen

static Image
fromResource(resource $resource)

Image-Objekt erstellen

setCanvasColor(RGBColor $color)

Setzt die Hintergrundfarbe der Leinwand

getCanvasColor()

Hintergrundfarbe holen.

integer
getWidth()

Breite des Bildes abfragen

integer
getHeight()

Höhe des Bildes

validate()

Validieren

resource
getResource(boolean $detach = false)

PHP-Bild-Ressource ermitteln.

__call(string $name, array $arguments)

Callback

string
serialize()

Objekt serialisieren

unserialize(Alvine $serialization)

Objekts deserialisieren

Details

at line 107
protected __construct(resource $resource)

Erstellt ein neues Image-Objekt

Parameters

resource $resource Bildressource

at line 120
__destruct()

Datenstruktur zerstören

Beim Löschen des Objektes auch die Datenstruktur zerstören.

See also

$this->detach

at line 138
boolean equals(Alvine $object)

Vergleich

Diese Funktion vergleicht zwei Image-Objekte. Die Methode prüft den Hashwert, die Breite und Höhe des Bildes. Die Methode gibt auch bei einer unterschiedlichen GD-Resouce true zurück.

Parameters

Alvine $object Objekt das überprüft werden soll

Return Value

boolean true wenn beide Objekte identisch sind.

at line 153
destroy()

Resource freigegeben

Zerstören des Bildes. Wenn kein detach-Flag gesetzt wurde, wird auch die Ressource gelöscht und freigegeben.

at line 176
static Image create(integer $width, integer $height)

Image-Objekt erstellen

Neues Image-Objekt in der gewünschten Breite und Höhe anlegen. Außerdem wird die Hintergrundfarbe auf weiß gesetzt.

Parameters

integer $width
integer $height

Return Value

Image Neues Image-Objekt

Exceptions

InvalidArgumentException Die Breite und Höhe darf nicht kleiner 1 sein.
CreateImageException Fehler beim Erstellen des Bildes

at line 206
static Image fromResource(resource $resource)

Image-Objekt erstellen

Neues Bildobjekt mit einer vorhanden Bildressource erstellen. Diese Methode sollte nach Möglichkeit nicht von externen Klassen verwendet werden.

Parameters

resource $resource Bild-Ressource

Return Value

Image Neues Bildobjekt

at line 217
Image setCanvasColor(RGBColor $color)

Setzt die Hintergrundfarbe der Leinwand

Parameters

RGBColor $color Farbe

Return Value

Image Dieses Objekt

at line 227
RGBColor getCanvasColor()

Hintergrundfarbe holen.

Return Value

RGBColor Hintergrundfarbe

at line 236
integer getWidth()

Breite des Bildes abfragen

Return Value

integer Breite

at line 245
integer getHeight()

Höhe des Bildes

Return Value

integer Höhe

at line 257
protected validate()

Validieren

Interne Funktion, die die Daten des Bildes überprüft und die wichtigsten Werte initialisiert.

Exceptions

CreateImageException Fehler bei der Überprüfung.

at line 279
resource getResource(boolean $detach = false)

PHP-Bild-Ressource ermitteln.

Dies ist für die internen Operatoren wichtig. ACHTUNG: Wenn das dazugehörige Image-Objekt gelöscht wird (z.B. durch ein unset) wird auch die Ressource gelöscht. Man kann dies verhindern, indem man $detach=true übergibt. Damit wird die Ressource vom Imageobjekt gelöst.

Parameters

boolean $detach Schalter

Return Value

resource Bildressource

at line 298
Image __call(string $name, array $arguments)

Callback

Dieser Callback routet die Operatoren auf die entsprechenden Zielobjekte.

Parameters

string $name Name der Funktion
array $arguments Argumente

Return Value

Image Dieses Bildobjekt

Exceptions

UnsupportedOpperationException Die gewünschte Funktion ist nicht verfügbar
OpperationFailedException Bei der Operation ist ein Fehler aufgetreten

at line 328
string serialize()

Objekt serialisieren

Return Value

string Serialisierte Daten des Objekts

at line 344
unserialize(Alvine $serialization)

Objekts deserialisieren

Parameters

Alvine $serialization Objekt