---
title: "jm_gallery Fehler mit Imagemagick 4.2.9"
url: "https://www.typo3.net/d/40469-jm-gallery-fehler-mit-imagemagick-429"
source: "typo3.net"
tags: ["Extensions","Bilder","Frage"]
created: "2006-03-30"
last_reply: "2006-03-31"
replies: 1
solved: false
page: 1
pages: 1
lang: "de"
---

# jm_gallery Fehler mit Imagemagick 4.2.9

Extensions · 1 Antwort · gestartet 2006-03-30

## Eröffnungsbeitrag

**rmelching** · 2006-03-30 · [Beitrag #1](https://www.typo3.net/d/40469-jm-gallery-fehler-mit-imagemagick-429/1)

Hallo,

wir haben Imagemagick in der Version 4.2.9 und die jm_gallery Version 0.4.2 installiert. Bis auf das Konvertieren über Imagemagick ist wohl alles in Ordnung. Folgende Fehlermeldung erschein aber sobald ein Bild hochgeladen wird:

"Fatal error: Call to undefined function: imagemagickcommand() in /homepages/36/d125797698/htdocs/typo3_src-3.7.0/typo3/ext/jm_gallery/pi1/class.tx_jmgallery_pi1.php on line 838"

Folglich funktioniert das Synchronisieren auch nicht richtig. Der Debug-Modus läuft auch nicht richtig durch, da hier auch die Konvertierung aufgerufen wird. Ich habe die Meldungen bis dahin mal ausgegeben:

"   * Imagemagick: 1
    * Path To Imagemagick: /homepages/36/d125797698/htdocs/imagemagick-4.2.9/
    * Does convert exist in this directory?: Yes
    * Checking for IM in different directory, found:"

Imagemagick läuft auch bei dem Test über die Installation einwandfrei.

Wo liegt der Fehler?

// Ich habe jetzt mal den Aufruf der Funktion verändert und den 'convert' Bereich gelöscht. Dann läuft alles zwar ohne Fehlermeldung durch, aber er bearbeitet die Bilder natürlich nicht richtig. Im ImagaMagick Verzeichnis ist die Datei convert vorhanden.

//  #angry# Anscheinend ist unsere Version 3.7 das Problem. Ab 3.8 gibt es da wohl eine andere Vorgehensweise mit ImageMagick. Kann ich das mit wenig Aufwand auf die 3.7 umbiegen oder muss ich auf den Umstieg auf neue Versionen warten?

## Antworten

### [#2](https://www.typo3.net/d/40469-jm-gallery-fehler-mit-imagemagick-429/2) · m00re · 2006-03-31

Hi!

Ersetze die resizeImage() Funktion in pi1/class.tx_jmgallery_pi1.php einfach mit folgender Funktion...

```php
function resizeImage($width, $height, $quality, $source, $target) {
		$gfxObj = t3lib_div::makeInstance("t3lib_stdgraphic");
		if ($GLOBALS['TYPO3_CONF_VARS']['GFX']['im'] == 1) {

			$stdGraphic = t3lib_div::makeInstance("t3lib_stdGraphic");
			$info = $stdGraphic->getImageDimensions($source);
			$options = array();
			$options["maxH"] = $height;
			$options["maxW"] = $width;
			$data = $stdGraphic->getImageScale($info, $width."m", $height."m", $options);	
			
			$params = '-geometry '.$data[0].'x'.$data[1].'! -quality '.$quality.' ';
			$cmd = $GLOBALS['TYPO3_CONF_VARS']['GFX']['im_path'].'/convert '.$params.' "'.$source.'" "'.$target.'"';
			
			$im = array();
			$im["string"] = $cmd;
			$im["error"] = shell_exec($cmd.' 2>&1');
			return $im;
		} else {
			// Get new dimensions
			list($width_orig, $height_orig) = getimagesize($source);
			
			if ($width && ($width_orig < $height_orig)) {
			   $width = ($height / $height_orig) * $width_orig;
			} else {
			   $height = ($width / $width_orig) * $height_orig;
			}
			
			// Resample
			$image_p = imagecreatetruecolor($width, $height);
			$image = imagecreatefromjpeg($source);
			imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
			
			// Output
			imagejpeg($image_p, $target, $quality);
		}
	}
```

Gruß Jens

---

Quelle: „jm_gallery Fehler mit Imagemagick 4.2.9“, typo3.net, https://www.typo3.net/d/40469-jm-gallery-fehler-mit-imagemagick-429
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
