shop-old/libs/phImaginator/doc.php
2026-04-20 01:03:43 +02:00

315 lines
6.5 KiB
PHP

<?php
require 'phImaginator/phImaginator.class.php';
$rsis = new phImaginator();
/*
* Quelldateien hinzufügen
*
* Dateien können einzeln oder gesammelt hinzugefügt werden
*
* 1. Eine einzelne Datei, z. B. "quellordner/bildchen/bild1.jpg"
* 2. Ein ganzes Verzeichnis, z. B. "quellordner/bildchen"
* 3. Ein Array von Dateien, z. B. "array('datei1.jpg', 'datei2.jpg')"
* 4. Ein Array von Verzeichnissen, z. B. "array('order1', 'ordner2')"
* 5. Ein Array von Dateien und Verzeichnissen
*/
$rsis->add('demosource/amy-adams.jpg');
/*
* Verkleinern auf eine maximale Breite
*
* Die Höhe wird proportional angepasst
*/
//$rsis->Resize_fitWidth(300);
/*
* Verkleinern auf eine maximale Höhe
*
* Die Breite wird proportional angepasst
*/
//$rsis->Resize_fitHeight(300);
/*
* Verkleinern auf eine maximale Höhe und Breite
*
* Breite und Höhe werden proportional so angepasst, dass weder Breite noch Höhe die angegebenen
* Maximal-Werte überschreiten
*/
//$rsis->Resize_fitBoth(200, 200);
/*
* Skalieren auf eine feste Breite und Höhe
*
* Breite und Höhe werden aproportional so angepasst, dass beide den angegebenen Werten entsprechen
*/
//$rsis->Resize_scale(5000, 5000);
/*
* Einboxen
*
* Breite oder Höhe werden poroportional so angepasst, dass die kürzere Seite in die Box passt.
* Der auf beiden Seiten überstehende Rest auf der Achse der längeren Seite des Bildes wird abgeschnitten.
*/
//$rsis->Box_fit(250, 250);
/*
* Ausschnitt
*
* Ein Ausschnitt der Größe P1 x P2 wird ab der Position P3/P4 ausgeschnitten
*/
//$rsis->Box_crop(500, 500, 50, 50);
/*
* Spiegeln
*
* Spiegelt das Bild um die horizontale bzw. vertikale Achse oder um beide Achsen
*/
//$rsis->Flip_horizontal();
//$rsis->Flip_vertical();
//$rsis->Flip_both();
/*
* Rotieren
*
* Rotiert das Bild um P1°.
* Die Farbe des Hintergrundes wird über P2 definiert
* P3 bestimmt die Opazität (wirkt sich nur bei der Generierung von PNG aus)
*/
//$rsis->Rotate_degree(45, '#000000', 50);
/*
* Rotieren ins Querformat
*
* Rotiert das Bild so, dass die Breite größer ist als die Höhe
*/
//$rsis->Rotate_landscape();
/*
* Rotieren ins Hochformat
*
* Rotiert das Bild so, dass die Höhe größer ist als die Breite
*/
//$rsis->Rotate_portrait();
/*
* Rahmung außen
*
* Setzt einen Rahmen der Breite P1 und Farbe P2 um das Bild
* Die Abmessungen des Bildes werden vergrößert (Rahmen außen am Bild)
*/
//$rsis->Border_outer(20, '#00ff00');
/*
* Rahmung innen
*
* Setzt einen Rahmen der Breite P1 und Farbe P2 in das Bild
* Die Abmessungen des Bildes bleiben unverändert
* Der Rahmen überdeckt den äußeren Bereich des Bildes
*/
//$rsis->Border_inner(500, '#00ff00');
/*
* Rahmung innen Variante
*
* Setzt einen Rahmen der Breite P1 und Farbe P2 in das Bild
* Die Abmessungen des Bildes bleiben unverändert
* Der Rahmen überdeckt den äußeren Bereich des Bildes nicht, das Bild wird hingegen aproportional
* so skaliert, dass es innerhalb des Rahmens passt
*/
//$rsis->Border_stretched(50, '#00ff00');
/*
* Farbtonänderung
*
* Farben werden angepasst. Schwarz und weiß bleiben erhalten
* RGB (P1, P2, P3)
* Sättigung (P4)
*/
//$rsis->Filter_hue(50, 10, 200, 100);
/*
* Sepia
*
*/
//$rsis->Filter_sepia();
/*
* PHP Standard-Filter (Rauschen, Weichzeichnen usw.)
* http://php.net/manual/de/function.imagefilter.php
*
*/
//$rsis->Filter_common(IMG_FILTER_MEAN_REMOVAL);
/*
* Farbreduktion
*
* Reduziert die Farben des Bildes um P1%
*/
//$rsis->Filter_reduceColors(50);
/*
* Beschriftung - Schriftart und Format
*
* Definiert die Schrift für Beschriftungen
*
* P1: Font file
* P2: Font size
* P3: Font colour
* P4: Transparenz
*/
//$rsis->setFont('BAUHS93.ttf', 30, '#000000', 50);
/*
* Beschriftung Freitext
*
* Beschriftet das Bild
*
* P1: Text
* P2: Horizontale Position
* P3: Vertikale Position
* P4: Rotation
*/
//$rsis->Write_text('Hallo Du', phImaginator::POSITION_CENTER, phImaginator::POSITION_MIDDLE, 45);
/*
* Beschriftung Dateiinfo
*
* Beschriftet das Bild mit Dateiinformationen
*
* P1: Horizontale Position
* P2: Vertikale Position
*/
//$rsis->Write_fileInfo(phImaginator::POSITION_CENTER, phImaginator::POSITION_MIDDLE);
/*
* Rechteck zeichnen
*
* Zeichnet ein Rechteck in das Bild
*
* P1: Horizontale Position
* P2: Vertikale Position
* P3: Breite absolut in Pixeln (integer) oder prozentual (string)
* P4: Höhe absolut in Pixeln (integer) oder prozentual (string)
* P5: Farbe
* P6: Opazität
*/
//$rsis->Draw_rectangle(phImaginator::POSITION_LEFT, phImaginator::POSITION_MIDDLE, '50%', 30, '#141615', 50);
/*
* Stempeln
*
* Stempelt ein Bild mit einem Stempel
*
* P1: Stempel-Quelldatei
* P2: Horizontale Position
* P3: Vertikale Position
* P4: Opazität
* P5: Größenanpassung des Stempels (FITTING_WIDTH, FITTING_HEIGHT, FITTING_BOTH oder false)
*/
//$rsis->Mask_stamp(
// 'bug.png',
// phImaginator::POSITION_CENTER,
// phImaginator::POSITION_MIDDLE,
// 50
//);
/*
* Runde Ecken (standard, relativ hart)
*
* Rundet die Ecken mit P1 Pixeln ab. Bei PNG-Ausgabe sind die Ecken transparent
*/
//$rsis->Mask_corners(25);
/*
* Runde Ecken (besser, smoother)
*
* Rundet die Ecken mit P1 Pixeln ab. Bei PNG-Ausgabe sind die Ecken transparent.
* P2 gibt an, welche Ecken gerundet werden sollen (POSITION_ALL & Co.)
*/
//$rsis->Mask_betterCorners(25, phImaginator::POSITION_ALL);
/*
* Reflexionen
*
* Reflektiert (Wasserspiegel) das Bild. Bei Ausgabe als PNG ist die Reflexion teiltransparent.
*
* P1: Höhe der Reflexion in Prozent (string) oder Pixeln (integer)
* P2: Abstand zwischen Bild und Reflexion in Pixeln
* P3: Proportion der Reflexion (float)
* P4: Anfangsopazität der Reflexion
* P4: Verlaufsmodus (TRANSITION_LOGARITHMIC, TRANSITION_EXPONENTIAL oder TRANSITION_LINEAR)
*/
//$rsis->Reflect_common('85%', 2, 1.2, 65, phImaginator::TRANSITION_LOGARITHMIC);
/*
* Histogramm
*
* Erstellung eines Histogramms
*/
//$rsis->Measure_histogram();
/*
* Dateinamen Präfix / Suffix
*
* Fügt dem Dateinamen beim Speichern einen Zusatz zu
*
* P1: Präfix
* P2: Suffix
*/
//$rsis->nameAdd('vorne', 'hinten');
/*
* Speichern
*
* Fügt dem Dateinamen beim Speichern einen Zusatz zu
*
* P1: Typ (IMAGETYPE_JPEG, IMAGETYPE_PNG oder IMAGETYPE_GIF)
* P2: Qualität (JPEG und tw PNG)
* P3: Ziel (Pfad)
*/
$rsis->save(IMAGETYPE_JPEG, 85, './');
// Nicht fertige Module
////////$rsis->Collage_ordered(600, 400, '#FF0000', 50);
////////$rsis->Collage_fitted(600, 400, '#FF0000', 50);
////////$rsis->Merge_fitted(300, 200, 50);
?>