2016-06-12 13 views
1

Upload und Verwendung von TIFF- oder BMP-Dateien in TYPO3 und deren Einbindung über f: image führt dazu, dass sie in gif-Dateien konvertiert werden. Ich verwende ImageMagick. Ich konnte nichts über dieses Problem finden, aber ich frage mich, denn selbst das Hochladen von 100% jpg-Dateien führt zu einer doppelten Komprimierung, während das Hochladen von bmp und tiff nicht funktioniert. Irgendwelche Ideen, wie man typo3 konfiguriert, um tiff und bmp in jpg und nicht in gif umzuwandeln? Ich kann mir nicht vorstellen, dass dies das richtige Verhalten ist.TYPO3 FileReference konvertiert tiff und bmp in gif

edit:

ich fand heraus, dass die Entscheidung für das Ausgabeformat bei

TYPO3\CMS\Core\Resource\Processing\AbstractGraphicalTask::determineTargetFileExtension 

getan wird Wenn es keine Konfiguration gegeben ist, wird es gif oder png für alle Nicht-JPG-Bilder verwenden. Ich überlastet die

\TYPO3\CMS\Core\Resource\Processing\ImageCropScaleMaskTask 

die die AbstractGraphicalTask ​​und umschrieb die Funktion erweitert, um richtig BMP und TIFF zu konvertieren.

die Config Standard fal in ext_localconf.php

$GLOBALS['TYPO3_CONF_VARS']['SYS']['fal']['processingTaskTypes']['Image.CropScaleMask'] = \i3\I3Content\Resource\Processing\ImageCropScaleMaskTask::class; 

Neue Funktion überschreiben:

protected function determineTargetFileExtension() { 

    if (!empty($this->configuration['fileExtension'])) { 
     $targetFileExtension = $this->configuration['fileExtension']; 
    } else { 
     // explanation for "thumbnails_png" 
     // Bit0: If set, thumbnails from non-jpegs will be 'png', otherwise 'gif' (0=gif/1=png). 
     // Bit1: Even JPG's will be converted to png or gif (2=gif/3=png) 

     $targetFileExtensionConfiguration = $GLOBALS['TYPO3_CONF_VARS']['GFX']['thumbnails_png']; 
     if ($this->getSourceFile()->getExtension() === 'jpg' || $this->getSourceFile()->getExtension() === 'jpeg') { 
      if ($targetFileExtensionConfiguration == 2) { 
       $targetFileExtension = 'gif'; 
      } elseif ($targetFileExtensionConfiguration == 3) { 
       $targetFileExtension = 'png'; 
      } else { 
       $targetFileExtension = 'jpg'; 
      } 
     } else { 
      // check if a png or a gif should be created 
      if ($targetFileExtensionConfiguration == 1 || $this->getSourceFile()->getExtension() === 'png') { 
       $targetFileExtension = 'png'; 
      } elseif($this->getSourceFile()->getExtension() === 'tif' || $this->getSourceFile()->getExtension() === 'tiff' || $this->getSourceFile()->getExtension() === 'bmp') { 
       $targetFileExtension = 'jpg'; 
      } else { 
       // thumbnails_png is "0" 
       $targetFileExtension = 'gif'; 
      } 
     } 
    } 

    return $targetFileExtension; 
} 
+0

So ist es jetzt für Sie gelöst? –

+0

ja, das obige codiert löst dieses Problem. – i3rutus

Antwort

2

Überprüfen Sie die $TYPO3_CONF_VARS[GFX][thumbnails_png] Werkzeug durch installieren Einstellung. Es gibt verschiedene Möglichkeiten, verschiedene Formate bei der Größenänderung von Bildern zu konvertieren.

Verwandte Themen