Hallo zusammen
habe folgende Frage:
Wie kann ich ein Bild (Schatten) hinter ein generiertes Bild legen?
$imgTSConfig=$this->cObj->IMAGE($this->conf["image."]);
$imgTSConfig['backColor'] = '#ffffff';
$imgTSConfig['file.']['maxW'] = '120';
$imgTSConfig['file.']['maxH'] = '180';
$imgTSConfig['file.']['params']='-rotate 8';
$imgTSConfig['file'] ='uploads/tx_test/'.($row["bild"]);
$imgTSConfig['alttext'] = ($row["titel"]);
$imgTSConfig['titletext'] = ($row["titel"]);
$imgTSConfig['quality'] = '100';
$content.=$this->cObj->IMAGE($imgTSConfig);
Ich habe schon versucht "$imgTSConfig['file.']" mit "$imgTSConfig['file.']['10.']" zu ersetzen. Aber dann wird gar nichts dargestellt.
Hinzu kommt, dass das Bild 8° gedreht wird. Ansonsten hätte ich den "Schatten" mittels css erstellt.
Danke für eine Antwort.
Mathias
Hi Mathias
Das würde ich mit GIFBUILDER machen.
Da musst du jedoch zuerst den Schatten machen und danach das Ganze mit EFFECT drehen. Das SHADOW-Element kann jedoch nicht auf Bilder angewendet werden, soviel ich weiss. Du müsstest für den Schatten also irgend ein transparentes PNG nehmen od. ähnlich.
img = IMAGE
img {
file = GIFBUILDER
file {
XY = ...
10 = IMAGE
10.file = dein-schatten-file
20 = IMAGE
20.file = dein-bild
30 = EFFECT
30.value = rotate=8
}
}
Gruss Philipp
Hallo Philipp
da ich diesen Code in einer Extension habe kann ich deinen Lösungsansatz nicht anwenden. Der Ansatz mit "10.file..." und "20.file..." stimmt glaube ich aber wie krieg ich es mit dem untenstehenden Code hin (?).
Wenn ich es so schreibe
...
$imgTSConfig=$this->cObj->IMAGE($this->conf["image."]);
$imgTSConfig['backColor'] = '#ffffff';
$imgTSConfig['file.']["10."]['maxW'] = '120';
$imgTSConfig['file.']["10."]['maxH'] = '180';
$imgTSConfig['file.']["10."]['params']='-rotate 8';
$imgTSConfig['file.']["10"] ='uploads/tx_test/'.($row["bild"]);
...
wird nur ein weisses Bild generiert. Aber das Bild welches eingelesen werden sollte wird nicht dargestellt.
Hi
Das ist grundsätzlich dasselbe Prinzip. Anstelle des TypoScript-Arrays machst du einfach ein PHP-Array.
$imgTSConfig = array(
'file' => 'GIFBUILDER',
'file.' => array(
'10' => 'IMAGE',
'10.' => array(
'file' => '...',
)
)
);
Am einfachsten machst du das komplette Array in TypoScript, lädst es später in PHP rein und ersetzt das "file"-Feld.
Über die $conf-Variable erhälst du ja sämtliches TypoScript der Extension als Array geliefert, wenn deine Extension dementsprechend vorbereitet ist. So musst du auch nicht gleich die Extension umprogrammieren, wenn's mal eine Änderung am Bild gibt.
Gruss Philipp