( jc – 26.02.2011 14:20)

Background Plugin (rex_background.image_manager.plugin)

Dieses Plugin implementiert die Funktionalität der roundedphp Klasse von Nevada Kent für den ImageManager.
Mit der Klasse lassen sich “on the fly”, direkt aus Redaxo heraus Grafiken erzeugen. Die Klasse bietet dabei ein Fülle äußerst praktischer Optionen (siehe demo).. neben grundsätzlichen Dingen wie diversen Formaten (PNG, JPG, GIF), Transparenz, runden Ecken und Border, kann man auch dezidiert Ausschnitte eines backgrounds erzeugen: einzelne Ecken oder Seiten.. z.b. für die Erstellung von resizebaren Boxen mit runden Ecke.

ImageManager Plugin & Effect Klasse

Die Funktionalität ist auf auf zwei Komponenten aufgeteilt:

  • einmal den ImageManager Effekt background (class.rex_effect_background.inc.php),
  • und dazu das Controller Plugin rex_background (rex_background.imagemanager.plugin).

Die Effekt Klasse enthält dabei die grundsätzliche Funktionalität zur Erzeugung der Grafiken über einen rex_img_type, das Controller Plugin erlaubt es mit minimalem Aufwand von einem vor-definierten rex_img_type beliebige Varianten zu erstellen.

Requirements

Download

http://svn.rexdev.de/redmine/projects/image-manager-ep/files


Beispielanwendung

Der im ImageManager definierte Bildtyp demo enthält den effect background,
in welcherm folgdene Grafik definiert ist:

Der Aufruf dieser Grafik sieht ähnlich wie ein “normaler” ImageManager request aus:

index.php?rex_img_type=background-demo&rex_background

d.h. zum einen der rex_img_type demo, und der (hier leere) Parameter rex_background.

Im Bildtyp demo ist ein grundsätzlicher style definiert, und aus selbigem lassen sich jetzt per Angabe von Parametern für rex_background einzelne Elemente “ableiten”, wobei lediglich die Angabe der Parameter nötig ist, die für das einzelne Elemente anders sein sollen, als im rex_img_type definiert. Sprich um die einzlnen Ecken des obigen Hintergrundbildes zu erhalten, muß man lediglich die Option sh (shape) und o (orientation) angeben:

index.php?rex_img_type=background-demo&rex_background=sh_corner.o_tl
index
.php?rex_img_type=background-demo&rex_background=sh_corner.o_tr
index
.php?rex_img_type=background-demo&rex_background=sh_corner.o_br
index
.php?rex_img_type=background-demo&rex_background=sh_corner.o_bl 


Ergebnis:

   

rex_background Paramter

Über den rex_background Parameter lassen sich alle Optionen beeinflussen, wobei jene aus dem rex_img_type überschrieben werden. Das Schema für die Options-Parameter ist recht simpel:

&rex_background=key1_val1.key2_val2.key3_val3 

Einzige Sonderstellung hat die Option für Format, alleine wie eine Dateiendung an den Optionsstring angehängt wird, z.b.:

&rex_background=key1_val1.key2_val2.key3_val3.png //oder
&rex_background=key1_val1.key2_val2.key3_val3.gif // oder
&rex_background=key1_val1.key2_val2.key3_val3.jpg 


Paramter Übersicht

key Option erlaubte Werte
sh Shape ‘c’ (or ‘corner’), ‘r’ (or ‘rectangle’), ‘s’ (or ‘side’)
r Radius (integer >= 0)
w Width (integer >= 2)
h Height (integer >= 2)
bw Border Width (integer >= 0)
fgc Foreground Color (hex code – 3 or 6 char)
bgc Background Color (hex code – 3 or 6 char)
bc Border Color (hex code – 3 or 6 char)
o Orientation ‘tl’ (or ‘lt’), ‘tr’ (or ‘rt’), ‘bl’ (or ‘lb’), ‘br’ (or ‘rb’)
si Side ‘t’, ‘top’, ‘l’, ‘left’, ‘b’, ‘bottom’, ‘r’, ‘right’
aa Antialias 1, 0
bgo Background Opacity (0 <= integer <= 100)
bo Border Opacity (0 <= integer <= 100)
fgo Foreground Opacity (0 <= integer <= 100)
tc Transparent Color (hex code – 3 or 6 char)
Format ‘png’, ‘gif’, ‘jpg’