---
title: "Ein Bild über einem anderen in einer Funktion"
url: "https://www.typo3.net/d/100836-ein-bild-ueber-einem-anderen-in-einer-funktion"
source: "typo3.net"
tags: ["Allgemein","Bilder","Frage","PHP"]
created: "2010-08-25"
last_reply: "2010-08-25"
replies: 3
solved: false
page: 1
pages: 1
lang: "de"
---

# Ein Bild über einem anderen in einer Funktion

Allgemein · 3 Antworten · gestartet 2010-08-25

## Eröffnungsbeitrag

**mbetschart** · 2010-08-25 · [Beitrag #1](https://www.typo3.net/d/100836-ein-bild-ueber-einem-anderen-in-einer-funktion/1)

Hallo zusammen

habe folgende Frage:
Wie kann ich ein Bild (Schatten) hinter ein generiertes Bild legen?

```typoscript
$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

## Antworten

### [#2](https://www.typo3.net/d/100836-ein-bild-ueber-einem-anderen-in-einer-funktion/2) · lavitto · 2010-08-25

Hi Mathias

Das würde ich mit [GIFBUILDER](https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Gifbuilder/Properties.html) 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.

```typoscript
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

### [#3](https://www.typo3.net/d/100836-ein-bild-ueber-einem-anderen-in-einer-funktion/3) · mbetschart · 2010-08-25

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

```typoscript
...
$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.

### [#4](https://www.typo3.net/d/100836-ein-bild-ueber-einem-anderen-in-einer-funktion/4) · lavitto · 2010-08-25

Hi

Das ist grundsätzlich dasselbe Prinzip. Anstelle des TypoScript-Arrays machst du einfach ein PHP-Array.

```php
$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

---

Quelle: „Ein Bild über einem anderen in einer Funktion“, typo3.net, https://www.typo3.net/d/100836-ein-bild-ueber-einem-anderen-in-einer-funktion
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
