315 lines
6.5 KiB
PHP
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);
|
|
|
|
|
|
|
|
?>
|