---
title: "Bildverarbeitung in Backendmodul (mod1)"
url: "https://www.typo3.net/d/88463-bildverarbeitung-in-backendmodul-mod1"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Bilder","Frage"]
created: "2009-03-31"
last_reply: "2009-04-02"
replies: 4
solved: false
page: 1
pages: 1
lang: "de"
---

# Bildverarbeitung in Backendmodul (mod1)

Extensions › Entwicklung · 4 Antworten · gestartet 2009-03-31

## Eröffnungsbeitrag

**Sevi** · 2009-03-31 · [Beitrag #1](https://www.typo3.net/d/88463-bildverarbeitung-in-backendmodul-mod1/1)

Hallo Liebes Forum

Wieder mal melde ich mich mit einen Problem  :D

Und zwar geht es um die Bildverarbeitung in einem Backend-Modul, beispielsweise für eine Thumbnailgenerierung.

Bislang habe ich dies nur in **Frontend-Plugins** verwendet, und zwar habe ich immer ein cObj instanziert und dessen IMAGE-Methode benutzt.

Die Funktion sieht dann ungefähr so aus:

```php
function renderImage($str_imagename,$maxW="100px") {
	unset($imgconf);		

	$imgconf["file"] = "uploads/tx_memorygame/".$str_imagename;	
	$imgconf["file."]["ext"] = "png";
	$imgconf["file."]["quality"] = "100";
	$imgconf["file."]["maxW"] = $maxW;

	$cObj = new tslib_cObj();
	$str_imagecode = $cObj->IMAGE($imgconf);

	return $str_imagecode;
}
```

Jetzt geht es aber darum ein Thumbnail in einem **Backend-Modul** generieren zu lassen.

Dort steht allerdings die Klasse **cObj** nicht zur Verfügung  :'(

Hat jemand einen Lösungsansatz zu diesem Problem?
Gibt es einen bestimmten weg, wie es *"richtig"* gemacht werden sollte, oder muss ich beginnen zu basteln?

Beste Grüsse und Danke schon im Voraus für die Hilfe!

## Antworten

### [#2](https://www.typo3.net/d/88463-bildverarbeitung-in-backendmodul-mod1/2) · ThBodi · 2009-03-31

Für Thumbnail-Generierung im Backend gibt es folgende Funktion:

```php
t3lib_befunc::getThumbnail()
```

### [#3](https://www.typo3.net/d/88463-bildverarbeitung-in-backendmodul-mod1/3) · Sevi · 2009-04-02

Besten Dank für den Tipp!

Ich habs gleich mal ausprobiert, jedoch werden die Vorschaubilder nicht generiert  :'(

Ich rufe die Funktion im Backend-Modul wie folgt auf:

```php
t3lib_BEfunc::getThumbNail('../../../../t3lib/thumbs.php','../../../../uploads/tx_memorygame/'.$arr_res[0]['card']);
```

Im Quelltext sieht's dann so aus:

```html
<img src="t3lib/thumbs.php?&amp;dummy=1238659047&amp;file=..%2F..%2F..%2F..%2Fuploads%2Ftx_memorygame%2F018_02.jpg&amp;md5sum=64e347981f" title="018_02.jpg" alt="">
```

Dass das File "thumbs.php" sowie das zu verarbeitende Bild auch tatsächlich existiert habe ich wie folgt nachgeprüft:

```php
if(file_exists('../../../../t3lib/thumbs.php')) {
	echo "thumbs.php existiert!";
}
		
if(file_exists("../../../../uploads/tx_memorygame/".$arr_res[0]['card'])) {
	echo "bild existiert!";
}
```

Da beide "echos" ausgegeben werden kann ich davon ausgehen, dass das "thumbs.php"-Skript und die zu verabreitende Bilddatei tatsächlich existieren.
Allerdings bereiten mir die "%2F"'s im Quelltext ein bisschen Kopfschmerzen.

Wenn ich das Script direkt aufrufe (einmal mit "%2F" und einmal mit "/" anstatt "%2F") erhalte ich folgende Fehlermeldung:

> Error: Image does not exist and/or MD5 checksum did not match.

[/quote]

Was mache ich falsch?

### [#4](https://www.typo3.net/d/88463-bildverarbeitung-in-backendmodul-mod1/4) · ThBodi · 2009-04-02

Ich nutze die Funktion in einer meiner Extensions so:

```php
t3lib_befunc::getThumbnail('thumbs.php',PATH_site.$uploadfolder.'/'.basename($image),'',$imgsize);
```

Also thumbs.php ohne weitere Pfadangabe und der Pfad zur Grafik absolut und nicht relativ. Der String 'thumbs.php' wird ja in die "src-URL" übernommen, gilt also relativ zum Aufruf der betrachteten Seite ("typo3/index.php"), daher kann das in Deiner Verwendung schon gar nicht funktionieren. $imgsize enthält ein String à la "800x600" für die Größenangabe.

Die "%2F" sind aber in URLs unproblematisch, ja sogar gewollt.

### [#5](https://www.typo3.net/d/88463-bildverarbeitung-in-backendmodul-mod1/5) · Sevi · 2009-04-02

Danke für deine Bemühungen ThBodi!

Mit deinem Ansatz hats zwar noch nicht ganz geklappt, aber es brauchte nicht mehr viel zusätzliche Google-Recherche und ich bin zur Lösung gekommen.  :)

Vor "thumbs.php" musste ich nur noch **$this->doc->backPath** einfügen.  :)

```php
/**
 * Renders Memory Card Image
 *
 * @param	int		Card UID
 * @return	string	HTML Code
 */
function getMemoryCardImage($int_cardId) {
	$selectFields = "card";
	$table = "tx_memorygame_cards";
	$whereClause = "uid = '".$int_cardId."' AND deleted = 0 AND hidden = 0";
	$arr_res = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows($selectFields,$table,$whereClause);

	$uploadfolder = "uploads/tx_memorygame/";
	$imgsize = "80x80";		
	return t3lib_BEfunc::getThumbnail($this->doc->backPath.'thumbs.php',PATH_site.$uploadfolder.basename($arr_res[0]["card"]),'null',$imgsize);
}
```

---

Quelle: „Bildverarbeitung in Backendmodul (mod1)“, typo3.net, https://www.typo3.net/d/88463-bildverarbeitung-in-backendmodul-mod1
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
