2016-06-12 5 views
1

TYPO3のtiffファイルまたはbmpファイルをアップロードして使用し、f:image経由でアップロードすると、beeingでgifファイルに変換されます。私はImageMagickを使用しています。私はこの問題について何も見つけることができませんでしたが、bmpとtiffをアップロードしている間は、100%のjpgファイルをダブル圧縮しても結果はアップロードされないため、疑問に思っています。 tiffとbmpをgpではなくjpgに変換するためにtypo3を設定する方法はありますか?これが正しい行動であるとは想像できません。TYPO3 FileReferenceはtiffとbmpをgifに変換します

編集:私は、それはすべての非JPG画像用のGIFまたはPNG形式を使用します。与えられた何も設定がない場合は、出力フォーマットの決定は

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

で行われていることが判明

。私はオーバーレイされた

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

AbstractGraphicalTask​​を拡張し、bmpとtiffを適切に変換する関数を書き直しました。

はext_localconf.phpに

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

新機能をデフォルトのFALの設定を上書き:

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

これは今あなたのために解決されますか? –

+0

はい、上記のコードはこの問題を解決します。 – i3rutus

答えて

2

ツールをインストールして設定$TYPO3_CONF_VARS[GFX][thumbnails_png]を確認してください。イメージのサイズを変更するときにさまざまな形式を変換する方法はさまざまです。

関連する問題