[TASK] CGL: Fix a series of minor indentation issues
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Classes / Imaging / GraphicalFunctions.php
index 0649b37..ccf6df5 100644 (file)
@@ -16,7 +16,7 @@ namespace TYPO3\CMS\Core\Imaging;
 
 use TYPO3\CMS\Core\Cache\CacheManager;
 use TYPO3\CMS\Core\Charset\CharsetConverter;
 
 use TYPO3\CMS\Core\Cache\CacheManager;
 use TYPO3\CMS\Core\Charset\CharsetConverter;
-use TYPO3\CMS\Core\TypoScript\TemplateService;
+use TYPO3\CMS\Core\Utility\ArrayUtility;
 use TYPO3\CMS\Core\Utility\CommandUtility;
 use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Core\Utility\CommandUtility;
 use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
@@ -47,16 +47,9 @@ class GraphicalFunctions
     /**
      * File formats supported by gdlib. This variable get's filled in "init" method
      *
     /**
      * File formats supported by gdlib. This variable get's filled in "init" method
      *
-     * @var string
-     */
-    public $gdlibExtensions = '';
-
-    /**
-     * Set to TRUE if generated png's should be truecolor by default
-     *
-     * @var bool
+     * @var array
      */
      */
-    public $png_truecolor = false;
+    protected $gdlibExtensions = [];
 
     /**
      * defines the RGB colorspace to use
 
     /**
      * defines the RGB colorspace to use
@@ -70,7 +63,7 @@ class GraphicalFunctions
      *
      * @var array
      */
      *
      * @var array
      */
-    protected $allowedColorSpaceNames = array(
+    protected $allowedColorSpaceNames = [
         'CMY',
         'CMYK',
         'Gray',
         'CMY',
         'CMYK',
         'Gray',
@@ -97,7 +90,7 @@ class GraphicalFunctions
         'YIQ',
         'YCbCr',
         'YUV'
         'YIQ',
         'YCbCr',
         'YUV'
-    );
+    ];
 
     /**
      * 16777216 Colors is the maximum value for PNG, JPEG truecolor images (24-bit, 8-bit / Channel)
 
     /**
      * 16777216 Colors is the maximum value for PNG, JPEG truecolor images (24-bit, 8-bit / Channel)
@@ -107,49 +100,46 @@ class GraphicalFunctions
     public $truecolorColors = 16777215;
 
     /**
     public $truecolorColors = 16777215;
 
     /**
-     * Commalist of file extensions perceived as images by TYPO3.
-     * List should be set to 'gif,png,jpeg,jpg' if IM is not available. Lowercase and no spaces between!
+     * Allowed file extensions perceived as images by TYPO3.
+     * List should be set to 'gif,png,jpeg,jpg' if IM is not available.
      *
      *
-     * @var string
+     * @var array
      */
      */
-    public $imageFileExt = 'gif,jpg,jpeg,png,tif,bmp,tga,pcx,ai,pdf';
+    protected $imageFileExt = ['gif', 'jpg', 'jpeg', 'png', 'tif', 'bmp', 'tga', 'pcx', 'ai', 'pdf'];
 
     /**
 
     /**
-     * Commalist of web image extensions (can be shown by a webbrowser)
+     * Web image extensions (can be shown by a webbrowser)
      *
      *
-     * @var string
+     * @var array
      */
      */
-    public $webImageExt = 'gif,jpg,jpeg,png';
+    protected $webImageExt = ['gif', 'jpg', 'jpeg', 'png'];
 
     /**
 
     /**
-     * @var string
+     * Enable ImageMagick effects, disabled by default as IM5+ effects slow down the image generation
+     *
+     * @var bool
      */
      */
-    public $NO_IM_EFFECTS = '';
+    protected $processorEffectsEnabled = false;
 
     /**
      * @var array
      */
 
     /**
      * @var array
      */
-    public $cmds = array(
+    public $cmds = [
         'jpg' => '',
         'jpeg' => '',
         'gif' => '',
         'jpg' => '',
         'jpeg' => '',
         'gif' => '',
-        'png' => '-colors 64'
-    );
-
-    /**
-     * @var string
-     */
-    public $NO_IMAGE_MAGICK = '';
+        'png' => ''
+    ];
 
     /**
      * @var bool
      */
 
     /**
      * @var bool
      */
-    public $V5_EFFECTS = 0;
+    protected $NO_IMAGE_MAGICK = false;
 
     /**
      * @var bool
      */
 
     /**
      * @var bool
      */
-    public $mayScaleUp = 1;
+    protected $mayScaleUp = true;
 
     /**
      * Filename prefix for images scaled in imageMagickConvert()
 
     /**
      * Filename prefix for images scaled in imageMagickConvert()
@@ -170,21 +160,14 @@ class GraphicalFunctions
      *
      * @var bool
      */
      *
      * @var bool
      */
-    public $dontCheckForExistingTempFile = 0;
+    public $dontCheckForExistingTempFile = false;
 
     /**
      * Prevents imageMagickConvert() from compressing the gif-files with self::gifCompress()
      *
      * @var bool
      */
 
     /**
      * Prevents imageMagickConvert() from compressing the gif-files with self::gifCompress()
      *
      * @var bool
      */
-    public $dontCompress = 0;
-
-    /**
-     * For debugging ONLY!
-     *
-     * @var bool
-     */
-    public $dontUnlinkTempFiles = 0;
+    public $dontCompress = false;
 
     /**
      * For debugging only.
 
     /**
      * For debugging only.
@@ -200,12 +183,12 @@ class GraphicalFunctions
      *
      * @var array
      */
      *
      * @var array
      */
-    public $IM_commands = array();
+    public $IM_commands = [];
 
     /**
      * @var array
      */
 
     /**
      * @var array
      */
-    public $workArea = array();
+    public $workArea = [];
 
     /**
      * Preserve the alpha transparency layer of read PNG images
 
     /**
      * Preserve the alpha transparency layer of read PNG images
@@ -215,20 +198,6 @@ class GraphicalFunctions
     protected $saveAlphaLayer = false;
 
     /**
     protected $saveAlphaLayer = false;
 
     /**
-     * The temp-directory where to store the files. Normally relative to PATH_site but is allowed to be the absolute path AS LONG AS it is a subdir to PATH_site.
-     *
-     * @var string
-     */
-    public $tempPath = 'typo3temp/assets/';
-
-    /**
-     * Prefix for relative paths. Used in "show_item.php" script. Is prefixed the output file name IN imageMagickConvert()
-     *
-     * @var string
-     */
-    public $absPrefix = '';
-
-    /**
      * ImageMagick scaling command; "-geometry" or "-sample". Used in makeText() and imageMagickConvert()
      *
      * @var string
      * ImageMagick scaling command; "-geometry" or "-sample". Used in makeText() and imageMagickConvert()
      *
      * @var string
@@ -240,57 +209,57 @@ class GraphicalFunctions
      *
      * @var string
      */
      *
      * @var string
      */
-    public $im5fx_blurSteps = '1x2,2x2,3x2,4x3,5x3,5x4,6x4,7x5,8x5,9x5';
+    protected $im5fx_blurSteps = '1x2,2x2,3x2,4x3,5x3,5x4,6x4,7x5,8x5,9x5';
 
     /**
      * Used by v5_sharpen() to simulate 10 continuous steps of sharpening.
      *
      * @var string
      */
 
     /**
      * Used by v5_sharpen() to simulate 10 continuous steps of sharpening.
      *
      * @var string
      */
-    public $im5fx_sharpenSteps = '1x2,2x2,3x2,2x3,3x3,4x3,3x4,4x4,4x5,5x5';
+    protected $im5fx_sharpenSteps = '1x2,2x2,3x2,2x3,3x3,4x3,3x4,4x4,4x5,5x5';
 
     /**
      * This is the limit for the number of pixels in an image before it will be rendered as JPG instead of GIF/PNG
      *
      * @var int
      */
 
     /**
      * This is the limit for the number of pixels in an image before it will be rendered as JPG instead of GIF/PNG
      *
      * @var int
      */
-    public $pixelLimitGif = 10000;
+    protected $pixelLimitGif = 10000;
 
     /**
      * Array mapping HTML color names to RGB values.
      *
      * @var array
      */
 
     /**
      * Array mapping HTML color names to RGB values.
      *
      * @var array
      */
-    public $colMap = array(
-        'aqua' => array(0, 255, 255),
-        'black' => array(0, 0, 0),
-        'blue' => array(0, 0, 255),
-        'fuchsia' => array(255, 0, 255),
-        'gray' => array(128, 128, 128),
-        'green' => array(0, 128, 0),
-        'lime' => array(0, 255, 0),
-        'maroon' => array(128, 0, 0),
-        'navy' => array(0, 0, 128),
-        'olive' => array(128, 128, 0),
-        'purple' => array(128, 0, 128),
-        'red' => array(255, 0, 0),
-        'silver' => array(192, 192, 192),
-        'teal' => array(0, 128, 128),
-        'yellow' => array(255, 255, 0),
-        'white' => array(255, 255, 255)
-    );
+    protected $colMap = [
+        'aqua' => [0, 255, 255],
+        'black' => [0, 0, 0],
+        'blue' => [0, 0, 255],
+        'fuchsia' => [255, 0, 255],
+        'gray' => [128, 128, 128],
+        'green' => [0, 128, 0],
+        'lime' => [0, 255, 0],
+        'maroon' => [128, 0, 0],
+        'navy' => [0, 0, 128],
+        'olive' => [128, 128, 0],
+        'purple' => [128, 0, 128],
+        'red' => [255, 0, 0],
+        'silver' => [192, 192, 192],
+        'teal' => [0, 128, 128],
+        'yellow' => [255, 255, 0],
+        'white' => [255, 255, 255]
+    ];
 
     /**
      * Charset conversion object:
      *
      * @var CharsetConverter
      */
 
     /**
      * Charset conversion object:
      *
      * @var CharsetConverter
      */
-    public $csConvObj;
+    protected $csConvObj;
 
     /**
      * @var int
      */
 
     /**
      * @var int
      */
-    public $jpegQuality = 75;
+    protected $jpegQuality = 85;
 
     /**
      * @var string
 
     /**
      * @var string
@@ -318,7 +287,7 @@ class GraphicalFunctions
     /**
      * @var array
      */
     /**
      * @var array
      */
-    public $OFFSET;
+    protected $OFFSET;
 
     /**
      * @var resource
 
     /**
      * @var resource
@@ -328,23 +297,19 @@ class GraphicalFunctions
     /**
      * Init function. Must always call this when using the class.
      * This function will read the configuration information from $GLOBALS['TYPO3_CONF_VARS']['GFX'] can set some values in internal variables.
     /**
      * Init function. Must always call this when using the class.
      * This function will read the configuration information from $GLOBALS['TYPO3_CONF_VARS']['GFX'] can set some values in internal variables.
-     *
-     * @return void
      */
     public function init()
     {
         $gfxConf = $GLOBALS['TYPO3_CONF_VARS']['GFX'];
         if (function_exists('imagecreatefromjpeg') && function_exists('imagejpeg')) {
      */
     public function init()
     {
         $gfxConf = $GLOBALS['TYPO3_CONF_VARS']['GFX'];
         if (function_exists('imagecreatefromjpeg') && function_exists('imagejpeg')) {
-            $this->gdlibExtensions .= ',jpg,jpeg';
+            $this->gdlibExtensions[] = 'jpg';
+            $this->gdlibExtensions[] = 'jpeg';
         }
         if (function_exists('imagecreatefrompng') && function_exists('imagepng')) {
         }
         if (function_exists('imagecreatefrompng') && function_exists('imagepng')) {
-            $this->gdlibExtensions .= ',png';
+            $this->gdlibExtensions[] = 'png';
         }
         if (function_exists('imagecreatefromgif') && function_exists('imagegif')) {
         }
         if (function_exists('imagecreatefromgif') && function_exists('imagegif')) {
-            $this->gdlibExtensions .= ',gif';
-        }
-        if ($gfxConf['png_truecolor']) {
-            $this->png_truecolor = true;
+            $this->gdlibExtensions[] = 'gif';
         }
 
         if ($gfxConf['processor_colorspace'] && in_array($gfxConf['processor_colorspace'], $this->allowedColorSpaceNames, true)) {
         }
 
         if ($gfxConf['processor_colorspace'] && in_array($gfxConf['processor_colorspace'], $this->allowedColorSpaceNames, true)) {
@@ -352,40 +317,29 @@ class GraphicalFunctions
         }
 
         if (!$gfxConf['processor_enabled']) {
         }
 
         if (!$gfxConf['processor_enabled']) {
-            $this->NO_IMAGE_MAGICK = 1;
-        }
-        // When GIFBUILDER gets used in truecolor mode
-        // No colors parameter if we generate truecolor images.
-        if ($this->png_truecolor) {
-            $this->cmds['png'] = '';
+            $this->NO_IMAGE_MAGICK = true;
         }
         // Setting default JPG parameters:
         }
         // Setting default JPG parameters:
-        $this->jpegQuality = MathUtility::forceIntegerInRange($gfxConf['jpg_quality'], 10, 100, 75);
-        $this->cmds['jpg'] = ($this->cmds['jpeg'] = '-colorspace ' . $this->colorspace . ' -sharpen 50 -quality ' . $this->jpegQuality);
+        $this->jpegQuality = MathUtility::forceIntegerInRange($gfxConf['jpg_quality'], 10, 100, 85);
         $this->addFrameSelection = (bool)$gfxConf['processor_allowFrameSelection'];
         if ($gfxConf['gdlib_png']) {
             $this->gifExtension = 'png';
         }
         $this->addFrameSelection = (bool)$gfxConf['processor_allowFrameSelection'];
         if ($gfxConf['gdlib_png']) {
             $this->gifExtension = 'png';
         }
-        $this->imageFileExt = $gfxConf['imagefile_ext'];
+        $this->imageFileExt = GeneralUtility::trimExplode(',', $gfxConf['imagefile_ext']);
 
         // Boolean. This is necessary if using ImageMagick 5+.
         // Effects in Imagemagick 5+ tends to render very slowly!!
         // - therefore must be disabled in order not to perform sharpen, blurring and such.
 
         // Boolean. This is necessary if using ImageMagick 5+.
         // Effects in Imagemagick 5+ tends to render very slowly!!
         // - therefore must be disabled in order not to perform sharpen, blurring and such.
-        $this->NO_IM_EFFECTS = 1;
-        $this->cmds['jpg'] = ($this->cmds['jpeg'] = '-colorspace ' . $this->colorspace . ' -quality ' . $this->jpegQuality);
+        $this->cmds['jpg'] = $this->cmds['jpeg'] = '-colorspace ' . $this->colorspace . ' -quality ' . $this->jpegQuality;
 
         // ... but if 'processor_effects' is set, enable effects
         if ($gfxConf['processor_effects']) {
 
         // ... but if 'processor_effects' is set, enable effects
         if ($gfxConf['processor_effects']) {
-            $this->NO_IM_EFFECTS = 0;
-            $this->V5_EFFECTS = 1;
-            if ($gfxConf['processor_effects'] > 0) {
-                $this->cmds['jpg'] = ($this->cmds['jpeg'] = '-colorspace ' . $this->colorspace . ' -quality ' . (int)$gfxConf['jpg_quality'] . $this->v5_sharpen(10));
-            }
+            $this->processorEffectsEnabled = true;
+            $this->cmds['jpg'] .= $this->v5_sharpen(10);
+            $this->cmds['jpeg'] .= $this->v5_sharpen(10);
         }
         // Secures that images are not scaled up.
         }
         // Secures that images are not scaled up.
-        if (!$gfxConf['processor_allowUpscaling']) {
-            $this->mayScaleUp = 0;
-        }
+        $this->mayScaleUp = (bool)$gfxConf['processor_allowUpscaling'];
         $this->csConvObj = GeneralUtility::makeInstance(CharsetConverter::class);
     }
 
         $this->csConvObj = GeneralUtility::makeInstance(CharsetConverter::class);
     }
 
@@ -402,7 +356,6 @@ class GraphicalFunctions
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      * @param array $workArea The current working area coordinates.
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      * @param array $workArea The current working area coordinates.
-     * @return void
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make()
      */
     public function maskImageOntoImage(&$im, $conf, $workArea)
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make()
      */
     public function maskImageOntoImage(&$im, $conf, $workArea)
@@ -410,14 +363,14 @@ class GraphicalFunctions
         if ($conf['file'] && $conf['mask']) {
             $imgInf = pathinfo($conf['file']);
             $imgExt = strtolower($imgInf['extension']);
         if ($conf['file'] && $conf['mask']) {
             $imgInf = pathinfo($conf['file']);
             $imgExt = strtolower($imgInf['extension']);
-            if (!GeneralUtility::inList($this->gdlibExtensions, $imgExt)) {
+            if (!in_array($imgExt, $this->gdlibExtensions, true)) {
                 $BBimage = $this->imageMagickConvert($conf['file'], $this->gifExtension);
             } else {
                 $BBimage = $this->getImageDimensions($conf['file']);
             }
             $maskInf = pathinfo($conf['mask']);
             $maskExt = strtolower($maskInf['extension']);
                 $BBimage = $this->imageMagickConvert($conf['file'], $this->gifExtension);
             } else {
                 $BBimage = $this->getImageDimensions($conf['file']);
             }
             $maskInf = pathinfo($conf['mask']);
             $maskExt = strtolower($maskInf['extension']);
-            if (!GeneralUtility::inList($this->gdlibExtensions, $maskExt)) {
+            if (!in_array($maskExt, $this->gdlibExtensions, true)) {
                 $BBmask = $this->imageMagickConvert($conf['mask'], $this->gifExtension);
             } else {
                 $BBmask = $this->getImageDimensions($conf['mask']);
                 $BBmask = $this->imageMagickConvert($conf['mask'], $this->gifExtension);
             } else {
                 $BBmask = $this->getImageDimensions($conf['mask']);
@@ -438,13 +391,13 @@ class GraphicalFunctions
                     $Bcolor = imagecolorallocatealpha($destImg, 0, 0, 0, 127);
                     imagefill($destImg, 0, 0, $Bcolor);
                 } else {
                     $Bcolor = imagecolorallocatealpha($destImg, 0, 0, 0, 127);
                     imagefill($destImg, 0, 0, $Bcolor);
                 } else {
-                    $Bcolor = ImageColorAllocate($destImg, 0, 0, 0);
-                    ImageFilledRectangle($destImg, 0, 0, $w, $h, $Bcolor);
+                    $Bcolor = imagecolorallocate($destImg, 0, 0, 0);
+                    imagefilledrectangle($destImg, 0, 0, $w, $h, $Bcolor);
                 }
                 $this->copyGifOntoGif($destImg, $cpImg, $conf, $workArea);
                 $this->ImageWrite($destImg, $theImage);
                 }
                 $this->copyGifOntoGif($destImg, $cpImg, $conf, $workArea);
                 $this->ImageWrite($destImg, $theImage);
-                imageDestroy($cpImg);
-                imageDestroy($destImg);
+                imagedestroy($cpImg);
+                imagedestroy($destImg);
                 // Prepare mask image
                 $cpImg = $this->imageCreateFromFile($BBmask[3]);
                 $destImg = imagecreatetruecolor($w, $h);
                 // Prepare mask image
                 $cpImg = $this->imageCreateFromFile($BBmask[3]);
                 $destImg = imagecreatetruecolor($w, $h);
@@ -453,13 +406,13 @@ class GraphicalFunctions
                     $Bcolor = imagecolorallocatealpha($destImg, 0, 0, 0, 127);
                     imagefill($destImg, 0, 0, $Bcolor);
                 } else {
                     $Bcolor = imagecolorallocatealpha($destImg, 0, 0, 0, 127);
                     imagefill($destImg, 0, 0, $Bcolor);
                 } else {
-                    $Bcolor = ImageColorAllocate($destImg, 0, 0, 0);
-                    ImageFilledRectangle($destImg, 0, 0, $w, $h, $Bcolor);
+                    $Bcolor = imagecolorallocate($destImg, 0, 0, 0);
+                    imagefilledrectangle($destImg, 0, 0, $w, $h, $Bcolor);
                 }
                 $this->copyGifOntoGif($destImg, $cpImg, $conf, $workArea);
                 $this->ImageWrite($destImg, $theMask);
                 }
                 $this->copyGifOntoGif($destImg, $cpImg, $conf, $workArea);
                 $this->ImageWrite($destImg, $theMask);
-                imageDestroy($cpImg);
-                imageDestroy($destImg);
+                imagedestroy($cpImg);
+                imagedestroy($destImg);
                 // Mask the images
                 $this->ImageWrite($im, $theDest);
                 // Let combineExec handle maskNegation
                 // Mask the images
                 $this->ImageWrite($im, $theDest);
                 // Let combineExec handle maskNegation
@@ -469,16 +422,14 @@ class GraphicalFunctions
                 // ... and if nothing went wrong we load it onto the old one.
                 if ($backIm) {
                     if (!$this->saveAlphaLayer) {
                 // ... and if nothing went wrong we load it onto the old one.
                 if ($backIm) {
                     if (!$this->saveAlphaLayer) {
-                        ImageColorTransparent($backIm, -1);
+                        imagecolortransparent($backIm, -1);
                     }
                     $im = $backIm;
                 }
                 // Unlink files from process
                     }
                     $im = $backIm;
                 }
                 // Unlink files from process
-                if (!$this->dontUnlinkTempFiles) {
-                    unlink($theDest);
-                    unlink($theImage);
-                    unlink($theMask);
-                }
+                unlink($theDest);
+                unlink($theImage);
+                unlink($theMask);
             }
         }
     }
             }
         }
     }
@@ -489,19 +440,18 @@ class GraphicalFunctions
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      * @param array $workArea The current working area coordinates.
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      * @param array $workArea The current working area coordinates.
-     * @return void
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make(), maskImageOntoImage()
      */
     public function copyImageOntoImage(&$im, $conf, $workArea)
     {
         if ($conf['file']) {
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make(), maskImageOntoImage()
      */
     public function copyImageOntoImage(&$im, $conf, $workArea)
     {
         if ($conf['file']) {
-            if (!GeneralUtility::inList($this->gdlibExtensions, $conf['BBOX'][2])) {
+            if (!in_array($conf['BBOX'][2], $this->gdlibExtensions, true)) {
                 $conf['BBOX'] = $this->imageMagickConvert($conf['BBOX'][3], $this->gifExtension);
                 $conf['file'] = $conf['BBOX'][3];
             }
             $cpImg = $this->imageCreateFromFile($conf['file']);
             $this->copyGifOntoGif($im, $cpImg, $conf, $workArea);
                 $conf['BBOX'] = $this->imageMagickConvert($conf['BBOX'][3], $this->gifExtension);
                 $conf['file'] = $conf['BBOX'][3];
             }
             $cpImg = $this->imageCreateFromFile($conf['file']);
             $this->copyGifOntoGif($im, $cpImg, $conf, $workArea);
-            imageDestroy($cpImg);
+            imagedestroy($cpImg);
         }
     }
 
         }
     }
 
@@ -512,7 +462,6 @@ class GraphicalFunctions
      * @param resource $cpImg GDlib image pointer, source (top image)
      * @param array $conf TypoScript array with the properties for the IMAGE GIFBUILDER object. Only used for the "tile" property value.
      * @param array $workArea Work area
      * @param resource $cpImg GDlib image pointer, source (top image)
      * @param array $conf TypoScript array with the properties for the IMAGE GIFBUILDER object. Only used for the "tile" property value.
      * @param array $workArea Work area
-     * @return void Works on the $im image pointer
      * @access private
      */
     public function copyGifOntoGif(&$im, $cpImg, $conf, $workArea)
      * @access private
      */
     public function copyGifOntoGif(&$im, $cpImg, $conf, $workArea)
@@ -522,7 +471,7 @@ class GraphicalFunctions
         $tile = GeneralUtility::intExplode(',', $conf['tile']);
         $tile[0] = MathUtility::forceIntegerInRange($tile[0], 1, 20);
         $tile[1] = MathUtility::forceIntegerInRange($tile[1], 1, 20);
         $tile = GeneralUtility::intExplode(',', $conf['tile']);
         $tile[0] = MathUtility::forceIntegerInRange($tile[0], 1, 20);
         $tile[1] = MathUtility::forceIntegerInRange($tile[1], 1, 20);
-        $cpOff = $this->objPosition($conf, $workArea, array($cpW * $tile[0], $cpH * $tile[1]));
+        $cpOff = $this->objPosition($conf, $workArea, [$cpW * $tile[0], $cpH * $tile[1]]);
         for ($xt = 0; $xt < $tile[0]; $xt++) {
             $Xstart = $cpOff[0] + $cpW * $xt;
             // If this image is inside of the workArea, then go on
         for ($xt = 0; $xt < $tile[0]; $xt++) {
             $Xstart = $cpOff[0] + $cpW * $xt;
             // If this image is inside of the workArea, then go on
@@ -592,7 +541,6 @@ class GraphicalFunctions
      * @param int $dstHeight Destination height
      * @param int $srcWidth Source width
      * @param int $srcHeight Source height
      * @param int $dstHeight Destination height
      * @param int $srcWidth Source width
      * @param int $srcHeight Source height
-     * @return void
      * @access private
      */
     public function imagecopyresized(&$dstImg, $srcImg, $dstX, $dstY, $srcX, $srcY, $dstWidth, $dstHeight, $srcWidth, $srcHeight)
      * @access private
      */
     public function imagecopyresized(&$dstImg, $srcImg, $dstX, $dstY, $srcX, $srcY, $dstWidth, $dstHeight, $srcWidth, $srcHeight)
@@ -622,7 +570,6 @@ class GraphicalFunctions
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      * @param array $workArea The current working area coordinates.
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      * @param array $workArea The current working area coordinates.
-     * @return void
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make()
      */
     public function makeText(&$im, $conf, $workArea)
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make()
      */
     public function makeText(&$im, $conf, $workArea)
@@ -640,13 +587,13 @@ class GraphicalFunctions
             $cols = $this->convertColor($conf['fontColor']);
             // NiceText is calculated
             if (!$conf['niceText']) {
             $cols = $this->convertColor($conf['fontColor']);
             // NiceText is calculated
             if (!$conf['niceText']) {
-                $Fcolor = ImageColorAllocate($im, $cols[0], $cols[1], $cols[2]);
+                $Fcolor = imagecolorallocate($im, $cols[0], $cols[1], $cols[2]);
                 // antiAliasing is setup:
                 $Fcolor = $conf['antiAlias'] ? $Fcolor : -$Fcolor;
                 for ($a = 0; $a < $conf['iterations']; $a++) {
                     // If any kind of spacing applys, we use this function:
                     if ($spacing || $wordSpacing) {
                 // antiAliasing is setup:
                 $Fcolor = $conf['antiAlias'] ? $Fcolor : -$Fcolor;
                 for ($a = 0; $a < $conf['iterations']; $a++) {
                     // If any kind of spacing applys, we use this function:
                     if ($spacing || $wordSpacing) {
-                        $this->SpacedImageTTFText($im, $conf['fontSize'], $conf['angle'], $txtPos[0], $txtPos[1], $Fcolor, self::prependAbsolutePath($conf['fontFile']), $theText, $spacing, $wordSpacing, $conf['splitRendering.']);
+                        $this->SpacedImageTTFText($im, $conf['fontSize'], $conf['angle'], $txtPos[0], $txtPos[1], $Fcolor, GeneralUtility::getFileAbsFileName($conf['fontFile']), $theText, $spacing, $wordSpacing, $conf['splitRendering.']);
                     } else {
                         $this->renderTTFText($im, $conf['fontSize'], $conf['angle'], $txtPos[0], $txtPos[1], $Fcolor, $conf['fontFile'], $theText, $conf['splitRendering.'], $conf);
                     }
                     } else {
                         $this->renderTTFText($im, $conf['fontSize'], $conf['angle'], $txtPos[0], $txtPos[1], $Fcolor, $conf['fontFile'], $theText, $conf['splitRendering.'], $conf);
                     }
@@ -666,37 +613,33 @@ class GraphicalFunctions
                 $newH = ceil($sF * imagesy($im));
                 // Make mask
                 $maskImg = imagecreatetruecolor($newW, $newH);
                 $newH = ceil($sF * imagesy($im));
                 // Make mask
                 $maskImg = imagecreatetruecolor($newW, $newH);
-                $Bcolor = ImageColorAllocate($maskImg, 255, 255, 255);
-                ImageFilledRectangle($maskImg, 0, 0, $newW, $newH, $Bcolor);
-                $Fcolor = ImageColorAllocate($maskImg, 0, 0, 0);
+                $Bcolor = imagecolorallocate($maskImg, 255, 255, 255);
+                imagefilledrectangle($maskImg, 0, 0, $newW, $newH, $Bcolor);
+                $Fcolor = imagecolorallocate($maskImg, 0, 0, 0);
                 // If any kind of spacing applies, we use this function:
                 if ($spacing || $wordSpacing) {
                 // If any kind of spacing applies, we use this function:
                 if ($spacing || $wordSpacing) {
-                    $this->SpacedImageTTFText($maskImg, $conf['fontSize'], $conf['angle'], $txtPos[0], $txtPos[1], $Fcolor, self::prependAbsolutePath($conf['fontFile']), $theText, $spacing, $wordSpacing, $conf['splitRendering.'], $sF);
+                    $this->SpacedImageTTFText($maskImg, $conf['fontSize'], $conf['angle'], $txtPos[0], $txtPos[1], $Fcolor, GeneralUtility::getFileAbsFileName($conf['fontFile']), $theText, $spacing, $wordSpacing, $conf['splitRendering.'], $sF);
                 } else {
                     $this->renderTTFText($maskImg, $conf['fontSize'], $conf['angle'], $txtPos[0], $txtPos[1], $Fcolor, $conf['fontFile'], $theText, $conf['splitRendering.'], $conf, $sF);
                 }
                 $this->ImageWrite($maskImg, $fileMask);
                 } else {
                     $this->renderTTFText($maskImg, $conf['fontSize'], $conf['angle'], $txtPos[0], $txtPos[1], $Fcolor, $conf['fontFile'], $theText, $conf['splitRendering.'], $conf, $sF);
                 }
                 $this->ImageWrite($maskImg, $fileMask);
-                ImageDestroy($maskImg);
+                imagedestroy($maskImg);
                 // Downscales the mask
                 // Downscales the mask
-                if ($this->NO_IM_EFFECTS) {
+                if (!$this->processorEffectsEnabled) {
                     $command = trim($this->scalecmd . ' ' . $w . 'x' . $h . '! -negate');
                 } else {
                     $command = trim($conf['niceText.']['before'] . ' ' . $this->scalecmd . ' ' . $w . 'x' . $h . '! ' . $conf['niceText.']['after'] . ' -negate');
                     if ($conf['niceText.']['sharpen']) {
                     $command = trim($this->scalecmd . ' ' . $w . 'x' . $h . '! -negate');
                 } else {
                     $command = trim($conf['niceText.']['before'] . ' ' . $this->scalecmd . ' ' . $w . 'x' . $h . '! ' . $conf['niceText.']['after'] . ' -negate');
                     if ($conf['niceText.']['sharpen']) {
-                        if ($this->V5_EFFECTS) {
-                            $command .= $this->v5_sharpen($conf['niceText.']['sharpen']);
-                        } else {
-                            $command .= ' -sharpen ' . MathUtility::forceIntegerInRange($conf['niceText.']['sharpen'], 1, 99);
-                        }
+                        $command .= $this->v5_sharpen($conf['niceText.']['sharpen']);
                     }
                 }
                 $this->imageMagickExec($fileMask, $fileMask, $command);
                 // Make the color-file
                 $colorImg = imagecreatetruecolor($w, $h);
                     }
                 }
                 $this->imageMagickExec($fileMask, $fileMask, $command);
                 // Make the color-file
                 $colorImg = imagecreatetruecolor($w, $h);
-                $Ccolor = ImageColorAllocate($colorImg, $cols[0], $cols[1], $cols[2]);
-                ImageFilledRectangle($colorImg, 0, 0, $w, $h, $Ccolor);
+                $Ccolor = imagecolorallocate($colorImg, $cols[0], $cols[1], $cols[2]);
+                imagefilledrectangle($colorImg, 0, 0, $w, $h, $Ccolor);
                 $this->ImageWrite($colorImg, $fileColor);
                 $this->ImageWrite($colorImg, $fileColor);
-                ImageDestroy($colorImg);
+                imagedestroy($colorImg);
                 // The mask is applied
                 // The main pictures is saved temporarily
                 $this->ImageWrite($im, $fileMenu);
                 // The mask is applied
                 // The main pictures is saved temporarily
                 $this->ImageWrite($im, $fileMenu);
@@ -706,16 +649,14 @@ class GraphicalFunctions
                 // ... and if nothing went wrong we load it onto the old one.
                 if ($backIm) {
                     if (!$this->saveAlphaLayer) {
                 // ... and if nothing went wrong we load it onto the old one.
                 if ($backIm) {
                     if (!$this->saveAlphaLayer) {
-                        ImageColorTransparent($backIm, -1);
+                        imagecolortransparent($backIm, -1);
                     }
                     $im = $backIm;
                 }
                 // Deleting temporary files;
                     }
                     $im = $backIm;
                 }
                 // Deleting temporary files;
-                if (!$this->dontUnlinkTempFiles) {
-                    unlink($fileMenu);
-                    unlink($fileColor);
-                    unlink($fileMask);
-                }
+                unlink($fileMenu);
+                unlink($fileColor);
+                unlink($fileMask);
             }
         }
     }
             }
         }
     }
@@ -724,7 +665,7 @@ class GraphicalFunctions
      * Calculates text position for printing the text onto the image based on configuration like alignment and workarea.
      *
      * @param array $conf TypoScript array for the TEXT GIFBUILDER object
      * Calculates text position for printing the text onto the image based on configuration like alignment and workarea.
      *
      * @param array $conf TypoScript array for the TEXT GIFBUILDER object
-     * @param array $workArea Workarea definition
+     * @param array $workArea Work area definition
      * @param array $BB Bounding box information, was set in \TYPO3\CMS\Frontend\Imaging\GifBuilder::start()
      * @return array [0]=x, [1]=y, [2]=w, [3]=h
      * @access private
      * @param array $BB Bounding box information, was set in \TYPO3\CMS\Frontend\Imaging\GifBuilder::start()
      * @return array [0]=x, [1]=y, [2]=w, [3]=h
      * @access private
@@ -737,7 +678,7 @@ class GraphicalFunctions
         $straightBB = $this->calcBBox($conf);
         // offset, align, valign, workarea
         // [0]=x, [1]=y, [2]=w, [3]=h
         $straightBB = $this->calcBBox($conf);
         // offset, align, valign, workarea
         // [0]=x, [1]=y, [2]=w, [3]=h
-        $result = array();
+        $result = [];
         $result[2] = $BB[0];
         $result[3] = $BB[1];
         $w = $workArea[2];
         $result[2] = $BB[0];
         $result[3] = $BB[1];
         $w = $workArea[2];
@@ -789,8 +730,8 @@ class GraphicalFunctions
         $charInf = $this->ImageTTFBBoxWrapper($conf['fontSize'], $conf['angle'], $conf['fontFile'], $theText, $conf['splitRendering.'], $sF);
         $theBBoxInfo = $charInf;
         if ($conf['angle']) {
         $charInf = $this->ImageTTFBBoxWrapper($conf['fontSize'], $conf['angle'], $conf['fontFile'], $theText, $conf['splitRendering.'], $sF);
         $theBBoxInfo = $charInf;
         if ($conf['angle']) {
-            $xArr = array($charInf[0], $charInf[2], $charInf[4], $charInf[6]);
-            $yArr = array($charInf[1], $charInf[3], $charInf[5], $charInf[7]);
+            $xArr = [$charInf[0], $charInf[2], $charInf[4], $charInf[6]];
+            $yArr = [$charInf[1], $charInf[3], $charInf[5], $charInf[7]];
             $x = max($xArr) - min($xArr);
             $y = max($yArr) - min($yArr);
         } else {
             $x = max($xArr) - min($xArr);
             $y = max($yArr) - min($yArr);
         } else {
@@ -811,12 +752,12 @@ class GraphicalFunctions
                     $x += $wordW + $wordSpacing;
                 }
             } else {
                     $x += $wordW + $wordSpacing;
                 }
             } else {
-                $utf8Chars = $this->csConvObj->utf8_to_numberarray($theText, true, true);
+                $utf8Chars = $this->csConvObj->utf8_to_numberarray($theText);
                 // For each UTF-8 char, do:
                 foreach ($utf8Chars as $char) {
                     $charInf = $this->ImageTTFBBoxWrapper($conf['fontSize'], $conf['angle'], $conf['fontFile'], $char, $conf['splitRendering.'], $sF);
                     $charW = $charInf[2] - $charInf[0];
                 // For each UTF-8 char, do:
                 foreach ($utf8Chars as $char) {
                     $charInf = $this->ImageTTFBBoxWrapper($conf['fontSize'], $conf['angle'], $conf['fontFile'], $char, $conf['splitRendering.'], $sF);
                     $charW = $charInf[2] - $charInf[0];
-                    $x += $charW + ($char == ' ' ? $wordSpacing : $spacing);
+                    $x += $charW + ($char === ' ' ? $wordSpacing : $spacing);
                 }
             }
         } elseif (isset($conf['breakWidth']) && $conf['breakWidth'] && $this->getRenderedTextWidth($conf['text'], $conf) > $conf['breakWidth']) {
                 }
             }
         } elseif (isset($conf['breakWidth']) && $conf['breakWidth'] && $this->getRenderedTextWidth($conf['text'], $conf) > $conf['breakWidth']) {
@@ -849,7 +790,7 @@ class GraphicalFunctions
                 unset($value);
             }
         }
                 unset($value);
             }
         }
-        return array($x, $y, $theBBoxInfo);
+        return [$x, $y, $theBBoxInfo];
     }
 
     /**
     }
 
     /**
@@ -857,7 +798,6 @@ class GraphicalFunctions
      *
      * @param array $cords Coordinates for a polygon image map as created by ->calcTextCordsForMap()
      * @param array $conf Configuration for "imgMap." property of a TEXT GIFBUILDER object.
      *
      * @param array $cords Coordinates for a polygon image map as created by ->calcTextCordsForMap()
      * @param array $conf Configuration for "imgMap." property of a TEXT GIFBUILDER object.
-     * @return void
      * @access private
      * @see makeText(), calcTextCordsForMap()
      */
      * @access private
      * @see makeText(), calcTextCordsForMap()
      */
@@ -911,7 +851,6 @@ class GraphicalFunctions
      * @param int $wordSpacing The spacing of words in pixels
      * @param array $splitRenderingConf Array
      * @param int $sF Scale factor
      * @param int $wordSpacing The spacing of words in pixels
      * @param array $splitRenderingConf Array
      * @param int $sF Scale factor
-     * @return void
      * @access private
      */
     public function SpacedImageTTFText(&$im, $fontSize, $angle, $x, $y, $Fcolor, $fontFile, $text, $spacing, $wordSpacing, $splitRenderingConf, $sF = 1)
      * @access private
      */
     public function SpacedImageTTFText(&$im, $fontSize, $angle, $x, $y, $Fcolor, $fontFile, $text, $spacing, $wordSpacing, $splitRenderingConf, $sF = 1)
@@ -928,13 +867,13 @@ class GraphicalFunctions
                 $x += $wordW + $wordSpacing;
             }
         } else {
                 $x += $wordW + $wordSpacing;
             }
         } else {
-            $utf8Chars = $this->csConvObj->utf8_to_numberarray($text, true, true);
+            $utf8Chars = $this->csConvObj->utf8_to_numberarray($text);
             // For each UTF-8 char, do:
             foreach ($utf8Chars as $char) {
                 $charInf = $this->ImageTTFBBoxWrapper($fontSize, $angle, $fontFile, $char, $splitRenderingConf, $sF);
                 $charW = $charInf[2] - $charInf[0];
                 $this->ImageTTFTextWrapper($im, $fontSize, $angle, $x, $y, $Fcolor, $fontFile, $char, $splitRenderingConf, $sF);
             // For each UTF-8 char, do:
             foreach ($utf8Chars as $char) {
                 $charInf = $this->ImageTTFBBoxWrapper($fontSize, $angle, $fontFile, $char, $splitRenderingConf, $sF);
                 $charW = $charInf[2] - $charInf[0];
                 $this->ImageTTFTextWrapper($im, $fontSize, $angle, $x, $y, $Fcolor, $fontFile, $char, $splitRenderingConf, $sF);
-                $x += $charW + ($char == ' ' ? $wordSpacing : $spacing);
+                $x += $charW + ($char === ' ' ? $wordSpacing : $spacing);
             }
         }
     }
             }
         }
     }
@@ -956,25 +895,23 @@ class GraphicalFunctions
             // If any kind of spacing applys, we use this function:
             if ($spacing || $wordSpacing) {
                 return $conf['fontSize'];
             // If any kind of spacing applys, we use this function:
             if ($spacing || $wordSpacing) {
                 return $conf['fontSize'];
-            } else {
-                do {
-                    // Determine bounding box.
-                    $bounds = $this->ImageTTFBBoxWrapper($conf['fontSize'], $conf['angle'], $conf['fontFile'], $conf['text'], $conf['splitRendering.']);
-                    if ($conf['angle'] < 0) {
-                        $pixelWidth = abs($bounds[4] - $bounds[0]);
-                    } elseif ($conf['angle'] > 0) {
-                        $pixelWidth = abs($bounds[2] - $bounds[6]);
-                    } else {
-                        $pixelWidth = abs($bounds[4] - $bounds[6]);
-                    }
-                    // Size is fine, exit:
-                    if ($pixelWidth <= $maxWidth) {
-                        break;
-                    } else {
-                        $conf['fontSize']--;
-                    }
-                } while ($conf['fontSize'] > 1);
             }
             }
+            do {
+                // Determine bounding box.
+                $bounds = $this->ImageTTFBBoxWrapper($conf['fontSize'], $conf['angle'], $conf['fontFile'], $conf['text'], $conf['splitRendering.']);
+                if ($conf['angle'] < 0) {
+                    $pixelWidth = abs($bounds[4] - $bounds[0]);
+                } elseif ($conf['angle'] > 0) {
+                    $pixelWidth = abs($bounds[2] - $bounds[6]);
+                } else {
+                    $pixelWidth = abs($bounds[4] - $bounds[6]);
+                }
+                // Size is fine, exit:
+                if ($pixelWidth <= $maxWidth) {
+                    break;
+                }
+                $conf['fontSize']--;
+            } while ($conf['fontSize'] > 1);
         }
         return $conf['fontSize'];
     }
         }
         return $conf['fontSize'];
     }
@@ -993,11 +930,11 @@ class GraphicalFunctions
     public function ImageTTFBBoxWrapper($fontSize, $angle, $fontFile, $string, $splitRendering, $sF = 1)
     {
         // Initialize:
     public function ImageTTFBBoxWrapper($fontSize, $angle, $fontFile, $string, $splitRendering, $sF = 1)
     {
         // Initialize:
-        $offsetInfo = array();
+        $offsetInfo = [];
         $stringParts = $this->splitString($string, $splitRendering, $fontSize, $fontFile);
         // Traverse string parts:
         foreach ($stringParts as $strCfg) {
         $stringParts = $this->splitString($string, $splitRendering, $fontSize, $fontFile);
         // Traverse string parts:
         foreach ($stringParts as $strCfg) {
-            $fontFile = self::prependAbsolutePath($strCfg['fontFile']);
+            $fontFile = GeneralUtility::getFileAbsFileName($strCfg['fontFile']);
             if (is_readable($fontFile)) {
                 /**
                  * Calculate Bounding Box for part.
             if (is_readable($fontFile)) {
                 /**
                  * Calculate Bounding Box for part.
@@ -1008,7 +945,7 @@ class GraphicalFunctions
                  */
                 $try = 0;
                 do {
                  */
                 $try = 0;
                 do {
-                    $calc = ImageTTFBBox(GeneralUtility::freetypeDpiComp($sF * $strCfg['fontSize']), $angle, $fontFile, $strCfg['str']);
+                    $calc = imagettfbbox($this->compensateFontSizeiBasedOnFreetypeDpi($sF * $strCfg['fontSize']), $angle, $fontFile, $strCfg['str']);
                 } while ($calc[2] < 0 && $try++ < 10);
                 // Calculate offsets:
                 if (empty($offsetInfo)) {
                 } while ($calc[2] < 0 && $try++ < 10);
                 // Calculate offsets:
                 if (empty($offsetInfo)) {
@@ -1021,7 +958,7 @@ class GraphicalFunctions
                     $offsetInfo[5] += $calc[5] - $calc[7] - (int)$splitRendering['compY'] - (int)$strCfg['ySpaceBefore'] - (int)$strCfg['ySpaceAfter'];
                 }
             } else {
                     $offsetInfo[5] += $calc[5] - $calc[7] - (int)$splitRendering['compY'] - (int)$strCfg['ySpaceBefore'] - (int)$strCfg['ySpaceAfter'];
                 }
             } else {
-                debug('cannot read file: ' . $fontFile, GraphicalFunctions::class . '::ImageTTFBBoxWrapper()');
+                debug('cannot read file: ' . $fontFile, self::class . '::ImageTTFBBoxWrapper()');
             }
         }
         return $offsetInfo;
             }
         }
         return $offsetInfo;
@@ -1040,7 +977,6 @@ class GraphicalFunctions
      * @param string $string (See argument for PHP function imageTTFtext()). UTF-8 string, possibly with entities in.
      * @param array $splitRendering Split-rendering configuration
      * @param int $sF Scale factor
      * @param string $string (See argument for PHP function imageTTFtext()). UTF-8 string, possibly with entities in.
      * @param array $splitRendering Split-rendering configuration
      * @param int $sF Scale factor
-     * @return void
      */
     public function ImageTTFTextWrapper($im, $fontSize, $angle, $x, $y, $color, $fontFile, $string, $splitRendering, $sF = 1)
     {
      */
     public function ImageTTFTextWrapper($im, $fontSize, $angle, $x, $y, $color, $fontFile, $string, $splitRendering, $sF = 1)
     {
@@ -1055,7 +991,7 @@ class GraphicalFunctions
             // Set custom color if any (only when niceText is off):
             if ($strCfg['color'] && $sF == 1) {
                 $cols = $this->convertColor($strCfg['color']);
             // Set custom color if any (only when niceText is off):
             if ($strCfg['color'] && $sF == 1) {
                 $cols = $this->convertColor($strCfg['color']);
-                $colorIndex = ImageColorAllocate($im, $cols[0], $cols[1], $cols[2]);
+                $colorIndex = imagecolorallocate($im, $cols[0], $cols[1], $cols[2]);
                 $colorIndex = $color >= 0 ? $colorIndex : -$colorIndex;
             }
             // Setting xSpaceBefore
                 $colorIndex = $color >= 0 ? $colorIndex : -$colorIndex;
             }
             // Setting xSpaceBefore
@@ -1063,16 +999,16 @@ class GraphicalFunctions
                 $x += (int)$strCfg['xSpaceBefore'];
                 $y -= (int)$strCfg['ySpaceBefore'];
             }
                 $x += (int)$strCfg['xSpaceBefore'];
                 $y -= (int)$strCfg['ySpaceBefore'];
             }
-            $fontFile = self::prependAbsolutePath($strCfg['fontFile']);
+            $fontFile = GeneralUtility::getFileAbsFileName($strCfg['fontFile']);
             if (is_readable($fontFile)) {
                 // Render part:
             if (is_readable($fontFile)) {
                 // Render part:
-                ImageTTFText($im, GeneralUtility::freetypeDpiComp($sF * $strCfg['fontSize']), $angle, $x, $y, $colorIndex, $fontFile, $strCfg['str']);
+                imagettftext($im, $this->compensateFontSizeiBasedOnFreetypeDpi($sF * $strCfg['fontSize']), $angle, $x, $y, $colorIndex, $fontFile, $strCfg['str']);
                 // Calculate offset to apply:
                 // Calculate offset to apply:
-                $wordInf = ImageTTFBBox(GeneralUtility::freetypeDpiComp($sF * $strCfg['fontSize']), $angle, self::prependAbsolutePath($strCfg['fontFile']), $strCfg['str']);
+                $wordInf = imagettfbbox($this->compensateFontSizeiBasedOnFreetypeDpi($sF * $strCfg['fontSize']), $angle, GeneralUtility::getFileAbsFileName($strCfg['fontFile']), $strCfg['str']);
                 $x += $wordInf[2] - $wordInf[0] + (int)$splitRendering['compX'] + (int)$strCfg['xSpaceAfter'];
                 $y += $wordInf[5] - $wordInf[7] - (int)$splitRendering['compY'] - (int)$strCfg['ySpaceAfter'];
             } else {
                 $x += $wordInf[2] - $wordInf[0] + (int)$splitRendering['compX'] + (int)$strCfg['xSpaceAfter'];
                 $y += $wordInf[5] - $wordInf[7] - (int)$splitRendering['compY'] - (int)$strCfg['ySpaceAfter'];
             } else {
-                debug('cannot read file: ' . $fontFile, GraphicalFunctions::class . '::ImageTTFTextWrapper()');
+                debug('cannot read file: ' . $fontFile, self::class . '::ImageTTFTextWrapper()');
             }
         }
     }
             }
         }
     }
@@ -1089,16 +1025,16 @@ class GraphicalFunctions
     public function splitString($string, $splitRendering, $fontSize, $fontFile)
     {
         // Initialize by setting the whole string and default configuration as the first entry.
     public function splitString($string, $splitRendering, $fontSize, $fontFile)
     {
         // Initialize by setting the whole string and default configuration as the first entry.
-        $result = array();
-        $result[] = array(
+        $result = [];
+        $result[] = [
             'str' => $string,
             'fontSize' => $fontSize,
             'fontFile' => $fontFile
             'str' => $string,
             'fontSize' => $fontSize,
             'fontFile' => $fontFile
-        );
+        ];
         // Traverse the split-rendering configuration:
         // Splitting will create more entries in $result with individual configurations.
         if (is_array($splitRendering)) {
         // Traverse the split-rendering configuration:
         // Splitting will create more entries in $result with individual configurations.
         if (is_array($splitRendering)) {
-            $sKeyArray = TemplateService::sortedKeyList($splitRendering);
+            $sKeyArray = ArrayUtility::filterAndSortByNumericKeys($splitRendering);
             // Traverse configured options:
             foreach ($sKeyArray as $key) {
                 $cfg = $splitRendering[$key . '.'];
             // Traverse configured options:
             foreach ($sKeyArray as $key) {
                 $cfg = $splitRendering[$key . '.'];
@@ -1106,17 +1042,17 @@ class GraphicalFunctions
                 switch ((string)$splitRendering[$key]) {
                     case 'highlightWord':
                         if ((string)$cfg['value'] !== '') {
                 switch ((string)$splitRendering[$key]) {
                     case 'highlightWord':
                         if ((string)$cfg['value'] !== '') {
-                            $newResult = array();
+                            $newResult = [];
                             // Traverse the current parts of the result array:
                             foreach ($result as $part) {
                                 // Explode the string value by the word value to highlight:
                                 $explodedParts = explode($cfg['value'], $part['str']);
                                 foreach ($explodedParts as $c => $expValue) {
                                     if ((string)$expValue !== '') {
                             // Traverse the current parts of the result array:
                             foreach ($result as $part) {
                                 // Explode the string value by the word value to highlight:
                                 $explodedParts = explode($cfg['value'], $part['str']);
                                 foreach ($explodedParts as $c => $expValue) {
                                     if ((string)$expValue !== '') {
-                                        $newResult[] = array_merge($part, array('str' => $expValue));
+                                        $newResult[] = array_merge($part, ['str' => $expValue]);
                                     }
                                     if ($c + 1 < count($explodedParts)) {
                                     }
                                     if ($c + 1 < count($explodedParts)) {
-                                        $newResult[] = array(
+                                        $newResult[] = [
                                             'str' => $cfg['value'],
                                             'fontSize' => $cfg['fontSize'] ? $cfg['fontSize'] : $part['fontSize'],
                                             'fontFile' => $cfg['fontFile'] ? $cfg['fontFile'] : $part['fontFile'],
                                             'str' => $cfg['value'],
                                             'fontSize' => $cfg['fontSize'] ? $cfg['fontSize'] : $part['fontSize'],
                                             'fontFile' => $cfg['fontFile'] ? $cfg['fontFile'] : $part['fontFile'],
@@ -1125,7 +1061,7 @@ class GraphicalFunctions
                                             'xSpaceAfter' => $cfg['xSpaceAfter'],
                                             'ySpaceBefore' => $cfg['ySpaceBefore'],
                                             'ySpaceAfter' => $cfg['ySpaceAfter']
                                             'xSpaceAfter' => $cfg['xSpaceAfter'],
                                             'ySpaceBefore' => $cfg['ySpaceBefore'],
                                             'ySpaceAfter' => $cfg['ySpaceAfter']
-                                        );
+                                        ];
                                     }
                                 }
                             }
                                     }
                                 }
                             }
@@ -1145,14 +1081,14 @@ class GraphicalFunctions
                                     $ranges[$i][1] = $ranges[$i][0];
                                 }
                             }
                                     $ranges[$i][1] = $ranges[$i][0];
                                 }
                             }
-                            $newResult = array();
+                            $newResult = [];
                             // Traverse the current parts of the result array:
                             foreach ($result as $part) {
                                 // Initialize:
                                 $currentState = -1;
                                 $bankAccum = '';
                                 // Explode the string value by the word value to highlight:
                             // Traverse the current parts of the result array:
                             foreach ($result as $part) {
                                 // Initialize:
                                 $currentState = -1;
                                 $bankAccum = '';
                                 // Explode the string value by the word value to highlight:
-                                $utf8Chars = $this->csConvObj->utf8_to_numberarray($part['str'], true, true);
+                                $utf8Chars = $this->csConvObj->utf8_to_numberarray($part['str']);
                                 foreach ($utf8Chars as $utfChar) {
                                     // Find number and evaluate position:
                                     $uNumber = (int)$this->csConvObj->utf8CharToUnumber($utfChar);
                                 foreach ($utf8Chars as $utfChar) {
                                     // Find number and evaluate position:
                                     $uNumber = (int)$this->csConvObj->utf8CharToUnumber($utfChar);
@@ -1171,7 +1107,7 @@ class GraphicalFunctions
                                     if ($inRange != $currentState && $uNumber !== 9 && $uNumber !== 10 && $uNumber !== 13 && $uNumber !== 32) {
                                         // Set result:
                                         if ($bankAccum !== '') {
                                     if ($inRange != $currentState && $uNumber !== 9 && $uNumber !== 10 && $uNumber !== 13 && $uNumber !== 32) {
                                         // Set result:
                                         if ($bankAccum !== '') {
-                                            $newResult[] = array(
+                                            $newResult[] = [
                                                 'str' => $bankAccum,
                                                 'fontSize' => $currentState && $cfg['fontSize'] ? $cfg['fontSize'] : $part['fontSize'],
                                                 'fontFile' => $currentState && $cfg['fontFile'] ? $cfg['fontFile'] : $part['fontFile'],
                                                 'str' => $bankAccum,
                                                 'fontSize' => $currentState && $cfg['fontSize'] ? $cfg['fontSize'] : $part['fontSize'],
                                                 'fontFile' => $currentState && $cfg['fontFile'] ? $cfg['fontFile'] : $part['fontFile'],
@@ -1180,7 +1116,7 @@ class GraphicalFunctions
                                                 'xSpaceAfter' => $currentState ? $cfg['xSpaceAfter'] : '',
                                                 'ySpaceBefore' => $currentState ? $cfg['ySpaceBefore'] : '',
                                                 'ySpaceAfter' => $currentState ? $cfg['ySpaceAfter'] : ''
                                                 'xSpaceAfter' => $currentState ? $cfg['xSpaceAfter'] : '',
                                                 'ySpaceBefore' => $currentState ? $cfg['ySpaceBefore'] : '',
                                                 'ySpaceAfter' => $currentState ? $cfg['ySpaceAfter'] : ''
-                                            );
+                                            ];
                                         }
                                         // Initialize new settings:
                                         $currentState = $inRange;
                                         }
                                         // Initialize new settings:
                                         $currentState = $inRange;
@@ -1191,7 +1127,7 @@ class GraphicalFunctions
                                 }
                                 // Set result for FINAL part:
                                 if ($bankAccum !== '') {
                                 }
                                 // Set result for FINAL part:
                                 if ($bankAccum !== '') {
-                                    $newResult[] = array(
+                                    $newResult[] = [
                                         'str' => $bankAccum,
                                         'fontSize' => $currentState && $cfg['fontSize'] ? $cfg['fontSize'] : $part['fontSize'],
                                         'fontFile' => $currentState && $cfg['fontFile'] ? $cfg['fontFile'] : $part['fontFile'],
                                         'str' => $bankAccum,
                                         'fontSize' => $currentState && $cfg['fontSize'] ? $cfg['fontSize'] : $part['fontSize'],
                                         'fontFile' => $currentState && $cfg['fontFile'] ? $cfg['fontFile'] : $part['fontFile'],
@@ -1200,7 +1136,7 @@ class GraphicalFunctions
                                         'xSpaceAfter' => $currentState ? $cfg['xSpaceAfter'] : '',
                                         'ySpaceBefore' => $currentState ? $cfg['ySpaceBefore'] : '',
                                         'ySpaceAfter' => $currentState ? $cfg['ySpaceAfter'] : ''
                                         'xSpaceAfter' => $currentState ? $cfg['xSpaceAfter'] : '',
                                         'ySpaceBefore' => $currentState ? $cfg['ySpaceBefore'] : '',
                                         'ySpaceAfter' => $currentState ? $cfg['ySpaceAfter'] : ''
-                                    );
+                                    ];
                                 }
                             }
                             // Set the new result as result array:
                                 }
                             }
                             // Set the new result as result array:
@@ -1231,7 +1167,7 @@ class GraphicalFunctions
         $wordSpacing = $wordSpacing ?: $spacing * 2;
         $spacing *= $scaleFactor;
         $wordSpacing *= $scaleFactor;
         $wordSpacing = $wordSpacing ?: $spacing * 2;
         $spacing *= $scaleFactor;
         $wordSpacing *= $scaleFactor;
-        return array($spacing, $wordSpacing);
+        return [$spacing, $wordSpacing];
     }
 
     /**
     }
 
     /**
@@ -1266,7 +1202,6 @@ class GraphicalFunctions
      * @param array $splitRendering Split-rendering configuration
      * @param array $conf The configuration
      * @param int $sF Scale factor
      * @param array $splitRendering Split-rendering configuration
      * @param array $conf The configuration
      * @param int $sF Scale factor
-     * @return void
      */
     protected function renderTTFText(&$im, $fontSize, $angle, $x, $y, $color, $fontFile, $string, $splitRendering, $conf, $sF = 1)
     {
      */
     protected function renderTTFText(&$im, $fontSize, $angle, $x, $y, $color, $fontFile, $string, $splitRendering, $conf, $sF = 1)
     {
@@ -1309,7 +1244,7 @@ class GraphicalFunctions
      */
     protected function getWordPairsForLineBreak($string)
     {
      */
     protected function getWordPairsForLineBreak($string)
     {
-        $wordPairs = array();
+        $wordPairs = [];
         $wordsArray = preg_split('#([- .,!:]+)#', $string, -1, PREG_SPLIT_DELIM_CAPTURE);
         $wordsCount = count($wordsArray);
         for ($index = 0; $index < $wordsCount; $index += 2) {
         $wordsArray = preg_split('#([- .,!:]+)#', $string, -1, PREG_SPLIT_DELIM_CAPTURE);
         $wordsCount = count($wordsArray);
         for ($index = 0; $index < $wordsCount; $index += 2) {
@@ -1371,7 +1306,6 @@ class GraphicalFunctions
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      * @param array $workArea The current working area coordinates.
      * @param array $txtConf TypoScript array with configuration for the associated TEXT GIFBUILDER object.
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      * @param array $workArea The current working area coordinates.
      * @param array $txtConf TypoScript array with configuration for the associated TEXT GIFBUILDER object.
-     * @return void
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make(), makeText()
      */
     public function makeOutline(&$im, $conf, $workArea, $txtConf)
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make(), makeText()
      */
     public function makeOutline(&$im, $conf, $workArea, $txtConf)
@@ -1406,7 +1340,7 @@ class GraphicalFunctions
      */
     public function circleOffset($distance, $iterations)
     {
      */
     public function circleOffset($distance, $iterations)
     {
-        $res = array();
+        $res = [];
         if ($distance && $iterations) {
             for ($a = 0; $a < $iterations; $a++) {
                 $yOff = round(sin((2 * pi() / $iterations * ($a + 1))) * 100 * $distance);
         if ($distance && $iterations) {
             for ($a = 0; $a < $iterations; $a++) {
                 $yOff = round(sin((2 * pi() / $iterations * ($a + 1))) * 100 * $distance);
@@ -1417,7 +1351,7 @@ class GraphicalFunctions
                 if ($xOff) {
                     $xOff = (int)(ceil(abs(($xOff / 100))) * ($xOff / abs($xOff)));
                 }
                 if ($xOff) {
                     $xOff = (int)(ceil(abs(($xOff / 100))) * ($xOff / abs($xOff)));
                 }
-                $res[$a] = array($xOff, $yOff);
+                $res[$a] = [$xOff, $yOff];
             }
         }
         return $res;
             }
         }
         return $res;
@@ -1430,7 +1364,6 @@ class GraphicalFunctions
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      * @param array $workArea The current working area coordinates.
      * @param array $txtConf TypoScript array with configuration for the associated TEXT GIFBUILDER object.
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      * @param array $workArea The current working area coordinates.
      * @param array $txtConf TypoScript array with configuration for the associated TEXT GIFBUILDER object.
-     * @return void
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make(), makeShadow()
      */
     public function makeEmboss(&$im, $conf, $workArea, $txtConf)
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make(), makeShadow()
      */
     public function makeEmboss(&$im, $conf, $workArea, $txtConf)
@@ -1453,7 +1386,6 @@ class GraphicalFunctions
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      * @param array $workArea The current working area coordinates.
      * @param array $txtConf TypoScript array with configuration for the associated TEXT GIFBUILDER object.
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      * @param array $workArea The current working area coordinates.
      * @param array $txtConf TypoScript array with configuration for the associated TEXT GIFBUILDER object.
-     * @return void
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make(), makeText(), makeEmboss()
      */
     public function makeShadow(&$im, $conf, $workArea, $txtConf)
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make(), makeText(), makeEmboss()
      */
     public function makeShadow(&$im, $conf, $workArea, $txtConf)
@@ -1461,7 +1393,7 @@ class GraphicalFunctions
         $workArea = $this->applyOffset($workArea, GeneralUtility::intExplode(',', $conf['offset']));
         $blurRate = MathUtility::forceIntegerInRange((int)$conf['blur'], 0, 99);
         // No effects if ImageMagick ver. 5+
         $workArea = $this->applyOffset($workArea, GeneralUtility::intExplode(',', $conf['offset']));
         $blurRate = MathUtility::forceIntegerInRange((int)$conf['blur'], 0, 99);
         // No effects if ImageMagick ver. 5+
-        if (!$blurRate || $this->NO_IM_EFFECTS) {
+        if (!$blurRate || !$this->processorEffectsEnabled) {
             $txtConf['fontColor'] = $conf['color'];
             $this->makeText($im, $txtConf, $workArea);
         } else {
             $txtConf['fontColor'] = $conf['color'];
             $this->makeText($im, $txtConf, $workArea);
         } else {
@@ -1476,34 +1408,23 @@ class GraphicalFunctions
             // BlurColor Image laves
             $blurColImg = imagecreatetruecolor($w, $h);
             $bcols = $this->convertColor($conf['color']);
             // BlurColor Image laves
             $blurColImg = imagecreatetruecolor($w, $h);
             $bcols = $this->convertColor($conf['color']);
-            $Bcolor = ImageColorAllocate($blurColImg, $bcols[0], $bcols[1], $bcols[2]);
-            ImageFilledRectangle($blurColImg, 0, 0, $w, $h, $Bcolor);
+            $Bcolor = imagecolorallocate($blurColImg, $bcols[0], $bcols[1], $bcols[2]);
+            imagefilledrectangle($blurColImg, 0, 0, $w, $h, $Bcolor);
             $this->ImageWrite($blurColImg, $fileColor);
             $this->ImageWrite($blurColImg, $fileColor);
-            ImageDestroy($blurColImg);
+            imagedestroy($blurColImg);
             // The mask is made: BlurTextImage
             $blurTextImg = imagecreatetruecolor($w + $blurBorder * 2, $h + $blurBorder * 2);
             // Black background
             // The mask is made: BlurTextImage
             $blurTextImg = imagecreatetruecolor($w + $blurBorder * 2, $h + $blurBorder * 2);
             // Black background
-            $Bcolor = ImageColorAllocate($blurTextImg, 0, 0, 0);
-            ImageFilledRectangle($blurTextImg, 0, 0, $w + $blurBorder * 2, $h + $blurBorder * 2, $Bcolor);
+            $Bcolor = imagecolorallocate($blurTextImg, 0, 0, 0);
+            imagefilledrectangle($blurTextImg, 0, 0, $w + $blurBorder * 2, $h + $blurBorder * 2, $Bcolor);
             $txtConf['fontColor'] = 'white';
             $txtConf['fontColor'] = 'white';
-            $blurBordArr = array($blurBorder, $blurBorder);
+            $blurBordArr = [$blurBorder, $blurBorder];
             $this->makeText($blurTextImg, $txtConf, $this->applyOffset($workArea, $blurBordArr));
             // Dump to temporary file
             $this->ImageWrite($blurTextImg, $fileMask);
             // Destroy
             $this->makeText($blurTextImg, $txtConf, $this->applyOffset($workArea, $blurBordArr));
             // Dump to temporary file
             $this->ImageWrite($blurTextImg, $fileMask);
             // Destroy
-            ImageDestroy($blurTextImg);
-            $command = '';
-            if ($this->V5_EFFECTS) {
-                $command .= $this->v5_blur($blurRate + 1);
-            } else {
-                // Blurring of the mask
-                // How many blur-commands that is executed. Min = 1;
-                $times = ceil($blurRate / 10);
-                // Building blur-command
-                for ($a = 0; $a < $times; $a++) {
-                    $command .= ' -blur ' . $blurRate;
-                }
-            }
+            imagedestroy($blurTextImg);
+            $command = $this->v5_blur($blurRate + 1);
             $this->imageMagickExec($fileMask, $fileMask, $command . ' +matte');
             // The mask is loaded again
             $blurTextImg_tmp = $this->imageCreateFromFile($fileMask);
             $this->imageMagickExec($fileMask, $fileMask, $command . ' +matte');
             // The mask is loaded again
             $blurTextImg_tmp = $this->imageCreateFromFile($fileMask);
@@ -1513,7 +1434,7 @@ class GraphicalFunctions
                 $blurTextImg = imagecreatetruecolor($w, $h);
                 $this->imagecopyresized($blurTextImg, $blurTextImg_tmp, 0, 0, $blurBorder, $blurBorder, $w, $h, $w, $h);
                 // Destroy the temporary mask
                 $blurTextImg = imagecreatetruecolor($w, $h);
                 $this->imagecopyresized($blurTextImg, $blurTextImg_tmp, 0, 0, $blurBorder, $blurBorder, $w, $h, $w, $h);
                 // Destroy the temporary mask
-                ImageDestroy($blurTextImg_tmp);
+                imagedestroy($blurTextImg_tmp);
                 // Adjust the mask
                 $intensity = 40;
                 if ($conf['intensity']) {
                 // Adjust the mask
                 $intensity = 40;
                 if ($conf['intensity']) {
@@ -1530,7 +1451,7 @@ class GraphicalFunctions
                 // Dump the mask again
                 $this->ImageWrite($blurTextImg, $fileMask);
                 // Destroy the mask
                 // Dump the mask again
                 $this->ImageWrite($blurTextImg, $fileMask);
                 // Destroy the mask
-                ImageDestroy($blurTextImg);
+                imagedestroy($blurTextImg);
                 // The pictures are combined
                 // The main pictures is saved temporarily
                 $this->ImageWrite($im, $fileMenu);
                 // The pictures are combined
                 // The main pictures is saved temporarily
                 $this->ImageWrite($im, $fileMenu);
@@ -1540,17 +1461,15 @@ class GraphicalFunctions
                 // ... and if nothing went wrong we load it onto the old one.
                 if ($backIm) {
                     if (!$this->saveAlphaLayer) {
                 // ... and if nothing went wrong we load it onto the old one.
                 if ($backIm) {
                     if (!$this->saveAlphaLayer) {
-                        ImageColorTransparent($backIm, -1);
+                        imagecolortransparent($backIm, -1);
                     }
                     $im = $backIm;
                 }
             }
             // Deleting temporary files;
                     }
                     $im = $backIm;
                 }
             }
             // Deleting temporary files;
-            if (!$this->dontUnlinkTempFiles) {
-                unlink($fileMenu);
-                unlink($fileColor);
-                unlink($fileMask);
-            }
+            unlink($fileMenu);
+            unlink($fileColor);
+            unlink($fileMask);
         }
     }
 
         }
     }
 
@@ -1565,14 +1484,13 @@ class GraphicalFunctions
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      * @param array $workArea The current working area coordinates.
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      * @param array $workArea The current working area coordinates.
-     * @return void
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make()
      */
     public function makeBox(&$im, $conf, $workArea)
     {
         $cords = GeneralUtility::intExplode(',', $conf['dimensions'] . ',,,');
         $conf['offset'] = $cords[0] . ',' . $cords[1];
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make()
      */
     public function makeBox(&$im, $conf, $workArea)
     {
         $cords = GeneralUtility::intExplode(',', $conf['dimensions'] . ',,,');
         $conf['offset'] = $cords[0] . ',' . $cords[1];
-        $cords = $this->objPosition($conf, $workArea, array($cords[2], $cords[3]));
+        $cords = $this->objPosition($conf, $workArea, [$cords[2], $cords[3]]);
         $cols = $this->convertColor($conf['color']);
         $opacity = 0;
         if (isset($conf['opacity'])) {
         $cols = $this->convertColor($conf['color']);
         $opacity = 0;
         if (isset($conf['opacity'])) {
@@ -1583,7 +1501,7 @@ class GraphicalFunctions
             $opacity = abs($opacity - 100);
             $opacity = round(127 * $opacity / 100);
         }
             $opacity = abs($opacity - 100);
             $opacity = round(127 * $opacity / 100);
         }
-        $tmpColor = ImageColorAllocateAlpha($im, $cols[0], $cols[1], $cols[2], $opacity);
+        $tmpColor = imagecolorallocatealpha($im, $cols[0], $cols[1], $cols[2], $opacity);
         imagefilledrectangle($im, $cords[0], $cords[1], $cords[0] + $cords[2] - 1, $cords[1] + $cords[3] - 1, $tmpColor);
     }
 
         imagefilledrectangle($im, $cords[0], $cords[1], $cords[0] + $cords[2] - 1, $cords[1] + $cords[3] - 1, $tmpColor);
     }
 
@@ -1605,7 +1523,6 @@ class GraphicalFunctions
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      * @param array $workArea The current working area coordinates.
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      * @param array $workArea The current working area coordinates.
-     * @return void
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make()
      */
     public function makeEllipse(&$im, array $conf, array $workArea)
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make()
      */
     public function makeEllipse(&$im, array $conf, array $workArea)
@@ -1614,7 +1531,7 @@ class GraphicalFunctions
         // Ellipse offset inside workArea (x/y)
         $conf['offset'] = $ellipseConfiguration[0] . ',' . $ellipseConfiguration[1];
         // @see objPosition
         // Ellipse offset inside workArea (x/y)
         $conf['offset'] = $ellipseConfiguration[0] . ',' . $ellipseConfiguration[1];
         // @see objPosition
-        $imageCoordinates = $this->objPosition($conf, $workArea, array($ellipseConfiguration[2], $ellipseConfiguration[3]));
+        $imageCoordinates = $this->objPosition($conf, $workArea, [$ellipseConfiguration[2], $ellipseConfiguration[3]]);
         $color = $this->convertColor($conf['color']);
         $fillingColor = imagecolorallocate($im, $color[0], $color[1], $color[2]);
         imagefilledellipse($im, $imageCoordinates[0], $imageCoordinates[1], $imageCoordinates[2], $imageCoordinates[3], $fillingColor);
         $color = $this->convertColor($conf['color']);
         $fillingColor = imagecolorallocate($im, $color[0], $color[1], $color[2]);
         imagefilledellipse($im, $imageCoordinates[0], $imageCoordinates[1], $imageCoordinates[2], $imageCoordinates[3], $fillingColor);
@@ -1626,7 +1543,6 @@ class GraphicalFunctions
      *
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      *
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
-     * @return void
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make(), applyImageMagickToPHPGif()
      */
     public function makeEffect(&$im, $conf)
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make(), applyImageMagickToPHPGif()
      */
     public function makeEffect(&$im, $conf)
@@ -1658,24 +1574,16 @@ class GraphicalFunctions
             $effect = strtolower(trim($pairs[0]));
             switch ($effect) {
                 case 'gamma':
             $effect = strtolower(trim($pairs[0]));
             switch ($effect) {
                 case 'gamma':
-                    $commands .= ' -gamma ' . doubleval($value);
+                    $commands .= ' -gamma ' . (float)$value;
                     break;
                 case 'blur':
                     break;
                 case 'blur':
-                    if (!$this->NO_IM_EFFECTS) {
-                        if ($this->V5_EFFECTS) {
-                            $commands .= $this->v5_blur($value);
-                        } else {
-                            $commands .= ' -blur ' . MathUtility::forceIntegerInRange($value, 1, 99);
-                        }
+                    if ($this->processorEffectsEnabled) {
+                        $commands .= $this->v5_blur($value);
                     }
                     break;
                 case 'sharpen':
                     }
                     break;
                 case 'sharpen':
-                    if (!$this->NO_IM_EFFECTS) {
-                        if ($this->V5_EFFECTS) {
-                            $commands .= $this->v5_sharpen($value);
-                        } else {
-                            $commands .= ' -sharpen ' . MathUtility::forceIntegerInRange($value, 1, 99);
-                        }
+                    if ($this->processorEffectsEnabled) {
+                        $commands .= $this->v5_sharpen($value);
                     }
                     break;
                 case 'rotate':
                     }
                     break;
                 case 'rotate':
@@ -1728,7 +1636,6 @@ class GraphicalFunctions
      *
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      *
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
-     * @return void
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make(), autoLevels(), outputLevels(), inputLevels()
      */
     public function adjust(&$im, $conf)
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make(), autoLevels(), outputLevels(), inputLevels()
      */
     public function adjust(&$im, $conf)
@@ -1753,7 +1660,7 @@ class GraphicalFunctions
                     $this->outputLevels($im, $params[0], $params[1]);
                     break;
                 case 'autolevels':
                     $this->outputLevels($im, $params[0], $params[1]);
                     break;
                 case 'autolevels':
-                    $this->autoLevels($im);
+                    $this->autolevels($im);
                     break;
             }
         }
                     break;
             }
         }
@@ -1764,7 +1671,6 @@ class GraphicalFunctions
      *
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      *
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
-     * @return void
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make()
      */
     public function crop(&$im, $conf)
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make()
      */
     public function crop(&$im, $conf)
@@ -1773,13 +1679,13 @@ class GraphicalFunctions
         $this->setWorkArea('');
         $cords = GeneralUtility::intExplode(',', $conf['crop'] . ',,,');
         $conf['offset'] = $cords[0] . ',' . $cords[1];
         $this->setWorkArea('');
         $cords = GeneralUtility::intExplode(',', $conf['crop'] . ',,,');
         $conf['offset'] = $cords[0] . ',' . $cords[1];
-        $cords = $this->objPosition($conf, $this->workArea, array($cords[2], $cords[3]));
+        $cords = $this->objPosition($conf, $this->workArea, [$cords[2], $cords[3]]);
         $newIm = imagecreatetruecolor($cords[2], $cords[3]);
         $newIm = imagecreatetruecolor($cords[2], $cords[3]);
-        $cols = $this->convertColor($conf['backColor'] ? $conf['backColor'] : $this->setup['backColor']);
-        $Bcolor = ImageColorAllocate($newIm, $cols[0], $cols[1], $cols[2]);
-        ImageFilledRectangle($newIm, 0, 0, $cords[2], $cords[3], $Bcolor);
-        $newConf = array();
-        $workArea = array(0, 0, $cords[2], $cords[3]);
+        $cols = $this->convertColor($conf['backColor'] ?: $this->setup['backColor']);
+        $Bcolor = imagecolorallocate($newIm, $cols[0], $cols[1], $cols[2]);
+        imagefilledrectangle($newIm, 0, 0, $cords[2], $cords[3], $Bcolor);
+        $newConf = [];
+        $workArea = [0, 0, $cords[2], $cords[3]];
         if ($cords[0] < 0) {
             $workArea[0] = abs($cords[0]);
         } else {
         if ($cords[0] < 0) {
             $workArea[0] = abs($cords[0]);
         } else {
@@ -1803,7 +1709,6 @@ class GraphicalFunctions
      *
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
      *
      * @param resource $im GDlib image pointer
      * @param array $conf TypoScript array with configuration for the GIFBUILDER object.
-     * @return void
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make()
      */
     public function scale(&$im, $conf)
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make()
      */
     public function scale(&$im, $conf)
@@ -1815,18 +1720,16 @@ class GraphicalFunctions
             $theNewFile = $this->imageMagickConvert($theFile, $this->gifExtension, $conf['width'], $conf['height'], $conf['params']);
             $tmpImg = $this->imageCreateFromFile($theNewFile[3]);
             if ($tmpImg) {
             $theNewFile = $this->imageMagickConvert($theFile, $this->gifExtension, $conf['width'], $conf['height'], $conf['params']);
             $tmpImg = $this->imageCreateFromFile($theNewFile[3]);
             if ($tmpImg) {
-                ImageDestroy($im);
+                imagedestroy($im);
                 $im = $tmpImg;
                 $this->w = imagesx($im);
                 $this->h = imagesy($im);
                 // Clears workArea to total image
                 $this->setWorkArea('');
             }
                 $im = $tmpImg;
                 $this->w = imagesx($im);
                 $this->h = imagesy($im);
                 // Clears workArea to total image
                 $this->setWorkArea('');
             }
-            if (!$this->dontUnlinkTempFiles) {
-                unlink($theFile);
-                if ($theNewFile[3] && $theNewFile[3] != $theFile) {
-                    unlink($theNewFile[3]);
-                }
+            unlink($theFile);
+            if ($theNewFile[3] && $theNewFile[3] != $theFile) {
+                unlink($theNewFile[3]);
             }
         }
     }
             }
         }
     }
@@ -1836,7 +1739,6 @@ class GraphicalFunctions
      * Setting internal working area boundaries (->workArea)
      *
      * @param string $workArea Working area dimensions, comma separated
      * Setting internal working area boundaries (->workArea)
      *
      * @param string $workArea Working area dimensions, comma separated
-     * @return void
      * @access private
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make()
      */
      * @access private
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::make()
      */
@@ -1861,14 +1763,13 @@ class GraphicalFunctions
      * Apply auto-levels to input image pointer
      *
      * @param resource $im GDlib Image Pointer
      * Apply auto-levels to input image pointer
      *
      * @param resource $im GDlib Image Pointer
-     * @return void
      */
     public function autolevels(&$im)
     {
      */
     public function autolevels(&$im)
     {
-        $totalCols = ImageColorsTotal($im);
+        $totalCols = imagecolorstotal($im);
         $grayArr = [];
         for ($c = 0; $c < $totalCols; $c++) {
         $grayArr = [];
         for ($c = 0; $c < $totalCols; $c++) {
-            $cols = ImageColorsForIndex($im, $c);
+            $cols = imagecolorsforindex($im, $c);
             $grayArr[] = round(($cols['red'] + $cols['green'] + $cols['blue']) / 3);
         }
         $min = min($grayArr);
             $grayArr[] = round(($cols['red'] + $cols['green'] + $cols['blue']) / 3);
         }
         $min = min($grayArr);
@@ -1876,11 +1777,11 @@ class GraphicalFunctions
         $delta = $max - $min;
         if ($delta) {
             for ($c = 0; $c < $totalCols; $c++) {
         $delta = $max - $min;
         if ($delta) {
             for ($c = 0; $c < $totalCols; $c++) {
-                $cols = ImageColorsForIndex($im, $c);
+                $cols = imagecolorsforindex($im, $c);
                 $cols['red'] = floor(($cols['red'] - $min) / $delta * 255);
                 $cols['green'] = floor(($cols['green'] - $min) / $delta * 255);
                 $cols['blue'] = floor(($cols['blue'] - $min) / $delta * 255);
                 $cols['red'] = floor(($cols['red'] - $min) / $delta * 255);
                 $cols['green'] = floor(($cols['green'] - $min) / $delta * 255);
                 $cols['blue'] = floor(($cols['blue'] - $min) / $delta * 255);
-                ImageColorSet($im, $c, $cols['red'], $cols['green'], $cols['blue']);
+                imagecolorset($im, $c, $cols['red'], $cols['green'], $cols['blue']);
             }
         }
     }
             }
         }
     }
@@ -1892,7 +1793,6 @@ class GraphicalFunctions
      * @param int $low The "low" value (close to 0)
      * @param int $high The "high" value (close to 255)
      * @param bool $swap If swap, then low and high are swapped. (Useful for negated masks...)
      * @param int $low The "low" value (close to 0)
      * @param int $high The "high" value (close to 255)
      * @param bool $swap If swap, then low and high are swapped. (Useful for negated masks...)
-     * @return void
      */
     public function outputLevels(&$im, $low, $high, $swap = false)
     {
      */
     public function outputLevels(&$im, $low, $high, $swap = false)
     {
@@ -1905,13 +1805,13 @@ class GraphicalFunctions
                 $high = 255 - $temp;
             }
             $delta = $high - $low;
                 $high = 255 - $temp;
             }
             $delta = $high - $low;
-            $totalCols = ImageColorsTotal($im);
+            $totalCols = imagecolorstotal($im);
             for ($c = 0; $c < $totalCols; $c++) {
             for ($c = 0; $c < $totalCols; $c++) {
-                $cols = ImageColorsForIndex($im, $c);
+                $cols = imagecolorsforindex($im, $c);
                 $cols['red'] = $low + floor($cols['red'] / 255 * $delta);
                 $cols['green'] = $low + floor($cols['green'] / 255 * $delta);
                 $cols['blue'] = $low + floor($cols['blue'] / 255 * $delta);
                 $cols['red'] = $low + floor($cols['red'] / 255 * $delta);
                 $cols['green'] = $low + floor($cols['green'] / 255 * $delta);
                 $cols['blue'] = $low + floor($cols['blue'] / 255 * $delta);
-                ImageColorSet($im, $c, $cols['red'], $cols['green'], $cols['blue']);
+                imagecolorset($im, $c, $cols['red'], $cols['green'], $cols['blue']);
             }
         }
     }
             }
         }
     }
@@ -1922,7 +1822,6 @@ class GraphicalFunctions
      * @param resource $im GDlib Image Pointer
      * @param int $low The "low" value (close to 0)
      * @param int $high The "high" value (close to 255)
      * @param resource $im GDlib Image Pointer
      * @param int $low The "low" value (close to 0)
      * @param int $high The "high" value (close to 255)
-     * @return void
      */
     public function inputLevels(&$im, $low, $high)
     {
      */
     public function inputLevels(&$im, $low, $high)
     {
@@ -1930,13 +1829,13 @@ class GraphicalFunctions
             $low = MathUtility::forceIntegerInRange($low, 0, 255);
             $high = MathUtility::forceIntegerInRange($high, 0, 255);
             $delta = $high - $low;
             $low = MathUtility::forceIntegerInRange($low, 0, 255);
             $high = MathUtility::forceIntegerInRange($high, 0, 255);
             $delta = $high - $low;
-            $totalCols = ImageColorsTotal($im);
+            $totalCols = imagecolorstotal($im);
             for ($c = 0; $c < $totalCols; $c++) {
             for ($c = 0; $c < $totalCols; $c++) {
-                $cols = ImageColorsForIndex($im, $c);
+                $cols = imagecolorsforindex($im, $c);
                 $cols['red'] = MathUtility::forceIntegerInRange(($cols['red'] - $low) / $delta * 255, 0, 255);
                 $cols['green'] = MathUtility::forceIntegerInRange(($cols['green'] - $low) / $delta * 255, 0, 255);
                 $cols['blue'] = MathUtility::forceIntegerInRange(($cols['blue'] - $low) / $delta * 255, 0, 255);
                 $cols['red'] = MathUtility::forceIntegerInRange(($cols['red'] - $low) / $delta * 255, 0, 255);
                 $cols['green'] = MathUtility::forceIntegerInRange(($cols['green'] - $low) / $delta * 255, 0, 255);
                 $cols['blue'] = MathUtility::forceIntegerInRange(($cols['blue'] - $low) / $delta * 255, 0, 255);
-                ImageColorSet($im, $c, $cols['red'], $cols['green'], $cols['blue']);
+                imagecolorset($im, $c, $cols['red'], $cols['green'], $cols['blue']);
             }
         }
     }
             }
         }
     }
@@ -1953,7 +1852,7 @@ class GraphicalFunctions
         $fI = GeneralUtility::split_fileref($file);
         $ext = strtolower($fI['fileext']);
         $result = $this->randomName() . '.' . $ext;
         $fI = GeneralUtility::split_fileref($file);
         $ext = strtolower($fI['fileext']);
         $result = $this->randomName() . '.' . $ext;
-        $reduce = MathUtility::forceIntegerInRange($cols, 0, $ext == 'gif' ? 256 : $this->truecolorColors, 0);
+        $reduce = MathUtility::forceIntegerInRange($cols, 0, $ext === 'gif' ? 256 : $this->truecolorColors, 0);
         if ($reduce > 0) {
             $params = ' -colors ' . $reduce;
             if ($reduce <= 256) {
         if ($reduce > 0) {
             $params = ' -colors ' . $reduce;
             if ($reduce <= 256) {
@@ -1974,22 +1873,7 @@ class GraphicalFunctions
      *
      *********************************/
     /**
      *
      *********************************/
     /**
-     * Checks if the $fontFile is already at an absolute path and if not, prepends the correct path.
-     * Use PATH_site unless we are in the backend.
-     * Call it by \TYPO3\CMS\Core\Imaging\GraphicalFunctions::prependAbsolutePath()
-     *
-     * @param string $fontFile The font file
-     * @return string The font file with absolute path.
-     */
-    public function prependAbsolutePath($fontFile)
-    {
-        $absPath = defined('PATH_typo3') ? dirname(PATH_thisScript) . '/' : PATH_site;
-        $fontFile = GeneralUtility::isAbsPath($fontFile) ? $fontFile : GeneralUtility::resolveBackPath($absPath . $fontFile);
-        return $fontFile;
-    }
-
-    /**
-     * Returns the IM command for sharpening with ImageMagick 5 (when $this->V5_EFFECTS is set).
+     * Returns the IM command for sharpening with ImageMagick 5
      * Uses $this->im5fx_sharpenSteps for translation of the factor to an actual command.
      *
      * @param int $factor The sharpening factor, 0-100 (effectively in 10 steps)
      * Uses $this->im5fx_sharpenSteps for translation of the factor to an actual command.
      *
      * @param int $factor The sharpening factor, 0-100 (effectively in 10 steps)
@@ -2002,14 +1886,13 @@ class GraphicalFunctions
         $sharpenArr = explode(',', ',' . $this->im5fx_sharpenSteps);
         $sharpenF = trim($sharpenArr[$factor]);
         if ($sharpenF) {
         $sharpenArr = explode(',', ',' . $this->im5fx_sharpenSteps);
         $sharpenF = trim($sharpenArr[$factor]);
         if ($sharpenF) {
-            $cmd = ' -sharpen ' . $sharpenF;
-            return $cmd;
+            return ' -sharpen ' . $sharpenF;
         }
         return '';
     }
 
     /**
         }
         return '';
     }
 
     /**
-     * Returns the IM command for blurring with ImageMagick 5 (when $this->V5_EFFECTS is set).
+     * Returns the IM command for blurring with ImageMagick 5.
      * Uses $this->im5fx_blurSteps for translation of the factor to an actual command.
      *
      * @param int $factor The blurring factor, 0-100 (effectively in 10 steps)
      * Uses $this->im5fx_blurSteps for translation of the factor to an actual command.
      *
      * @param int $factor The blurring factor, 0-100 (effectively in 10 steps)
@@ -2022,22 +1905,21 @@ class GraphicalFunctions
         $blurArr = explode(',', ',' . $this->im5fx_blurSteps);
         $blurF = trim($blurArr[$factor]);
         if ($blurF) {
         $blurArr = explode(',', ',' . $this->im5fx_blurSteps);
         $blurF = trim($blurArr[$factor]);
         if ($blurF) {
-            $cmd = ' -blur ' . $blurF;
-            return $cmd;
+            return ' -blur ' . $blurF;
         }
         return '';
     }
 
     /**
         }
         return '';
     }
 
     /**
-     * Returns a random filename prefixed with "temp_" and then 32 char md5 hash (without extension) from $this->tempPath.
-     * Used by functions in this class to create truely temporary files for the on-the-fly processing. These files will most likely be deleted right away.
+     * Returns a random filename prefixed with "temp_" and then 32 char md5 hash (without extension).
+     * Used by functions in this class to create truly temporary files for the on-the-fly processing. These files will most likely be deleted right away.
      *
      * @return string
      */
     public function randomName()
     {
      *
      * @return string
      */
     public function randomName()
     {
-        $this->createTempSubDir('transient/');
-        return $this->tempPath . 'transient/' . md5(uniqid('', true));
+        GeneralUtility::mkdir_deep(PATH_site . 'typo3temp/var/transient/');
+        return PATH_site . 'typo3temp/var/transient/' . md5(uniqid('', true));
     }
 
     /**
     }
 
     /**
@@ -2064,15 +1946,15 @@ class GraphicalFunctions
      */
     public function convertColor($string)
     {
      */
     public function convertColor($string)
     {
-        $col = array();
+        $col = [];
         $cParts = explode(':', $string, 2);
         // Finding the RGB definitions of the color:
         $string = $cParts[0];
         if (strstr($string, '#')) {
             $string = preg_replace('/[^A-Fa-f0-9]*/', '', $string);
         $cParts = explode(':', $string, 2);
         // Finding the RGB definitions of the color:
         $string = $cParts[0];
         if (strstr($string, '#')) {
             $string = preg_replace('/[^A-Fa-f0-9]*/', '', $string);
-            $col[] = HexDec(substr($string, 0, 2));
-            $col[] = HexDec(substr($string, 2, 2));
-            $col[] = HexDec(substr($string, 4, 2));
+            $col[] = hexdec(substr($string, 0, 2));
+            $col[] = hexdec(substr($string, 2, 2));
+            $col[] = hexdec(substr($string, 4, 2));
         } elseif (strstr($string, ',')) {
             $string = preg_replace('/[^,0-9]*/', '', $string);
             $strArr = explode(',', $string);
         } elseif (strstr($string, ',')) {
             $string = preg_replace('/[^,0-9]*/', '', $string);
             $strArr = explode(',', $string);
@@ -2084,14 +1966,14 @@ class GraphicalFunctions
             if ($this->colMap[$string]) {
                 $col = $this->colMap[$string];
             } else {
             if ($this->colMap[$string]) {
                 $col = $this->colMap[$string];
             } else {
-                $col = array(0, 0, 0);
+                $col = [0, 0, 0];
             }
         }
         // ... and possibly recalculating the value
         if (trim($cParts[1])) {
             $cParts[1] = trim($cParts[1]);
             if ($cParts[1][0] === '*') {
             }
         }
         // ... and possibly recalculating the value
         if (trim($cParts[1])) {
             $cParts[1] = trim($cParts[1]);
             if ($cParts[1][0] === '*') {
-                $val = doubleval(substr($cParts[1], 1));
+                $val = (float)substr($cParts[1], 1);
                 $col[0] = MathUtility::forceIntegerInRange($col[0] * $val, 0, 255);
                 $col[1] = MathUtility::forceIntegerInRange($col[1] * $val, 0, 255);
                 $col[2] = MathUtility::forceIntegerInRange($col[2] * $val, 0, 255);
                 $col[0] = MathUtility::forceIntegerInRange($col[0] * $val, 0, 255);
                 $col[1] = MathUtility::forceIntegerInRange($col[1] * $val, 0, 255);
                 $col[2] = MathUtility::forceIntegerInRange($col[2] * $val, 0, 255);
@@ -2118,7 +2000,7 @@ class GraphicalFunctions
     public function objPosition($conf, $workArea, $BB)
     {
         // offset, align, valign, workarea
     public function objPosition($conf, $workArea, $BB)
     {
         // offset, align, valign, workarea
-        $result = array();
+        $result = [];
         $result[2] = $BB[0];
         $result[3] = $BB[1];
         $w = $workArea[2];
         $result[2] = $BB[0];
         $result[3] = $BB[1];
         $w = $workArea[2];
@@ -2171,7 +2053,7 @@ class GraphicalFunctions
      * @return array|null [0]/[1] is w/h, [2] is file extension and [3] is the filename.
      * @see getImageScale(), typo3/show_item.php, fileList_ext::renderImage(), \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::getImgResource(), SC_tslib_showpic::show(), maskImageOntoImage(), copyImageOntoImage(), scale()
      */
      * @return array|null [0]/[1] is w/h, [2] is file extension and [3] is the filename.
      * @see getImageScale(), typo3/show_item.php, fileList_ext::renderImage(), \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::getImgResource(), SC_tslib_showpic::show(), maskImageOntoImage(), copyImageOntoImage(), scale()
      */
-    public function imageMagickConvert($imagefile, $newExt = '', $w = '', $h = '', $params = '', $frame = '', $options = array(), $mustCreate = false)
+    public function imageMagickConvert($imagefile, $newExt = '', $w = '', $h = '', $params = '', $frame = '', $options = [], $mustCreate = false)
     {
         if ($this->NO_IMAGE_MAGICK) {
             // Returning file info right away
     {
         if ($this->NO_IMAGE_MAGICK) {
             // Returning file info right away
@@ -2188,7 +2070,7 @@ class GraphicalFunctions
             $newExt = $info[2];
         }
         if ($newExt === 'web') {
             $newExt = $info[2];
         }
         if ($newExt === 'web') {
-            if (GeneralUtility::inList($this->webImageExt, $info[2])) {
+            if (in_array($info[2], $this->webImageExt, true)) {
                 $newExt = $info[2];
             } else {
                 $newExt = $this->gif_or_jpg($info[2], $info[0], $info[1]);
                 $newExt = $info[2];
             } else {
                 $newExt = $this->gif_or_jpg($info[2], $info[0], $info[1]);
@@ -2197,7 +2079,7 @@ class GraphicalFunctions
                 }
             }
         }
                 }
             }
         }
-        if (!GeneralUtility::inList($this->imageFileExt, $newExt)) {
+        if (!in_array($newExt, $this->imageFileExt, true)) {
             return null;
         }
 
             return null;
         }
 
@@ -2250,8 +2132,8 @@ class GraphicalFunctions
             $this->imageMagickConvert_forceFileNameBody = '';
         }
         // Making the temporary filename:
             $this->imageMagickConvert_forceFileNameBody = '';
         }
         // Making the temporary filename:
-        $this->createTempSubDir('images/');
-        $output = $this->absPrefix . $this->tempPath . 'images/' . $this->filenamePrefix . $theOutputName . '.' . $newExt;
+        GeneralUtility::mkdir_deep(PATH_site . 'typo3temp/assets/images/');
+        $output = PATH_site . 'typo3temp/assets/images/' . $this->filenamePrefix . $theOutputName . '.' . $newExt;
         if ($this->dontCheckForExistingTempFile || !file_exists($output)) {
             $this->imageMagickExec($imagefile, $output, $command, $frame);
         }
         if ($this->dontCheckForExistingTempFile || !file_exists($output)) {
             $this->imageMagickExec($imagefile, $output, $command, $frame);
         }
@@ -2275,25 +2157,24 @@ class GraphicalFunctions
      * Gets the input image dimensions.
      *
      * @param string $imageFile The image filepath
      * Gets the input image dimensions.
      *
      * @param string $imageFile The image filepath
-     * @return array|NULL Returns an array where [0]/[1] is w/h, [2] is extension and [3] is the filename.
+     * @return array|null Returns an array where [0]/[1] is w/h, [2] is extension and [3] is the filename.
      * @see imageMagickConvert(), \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::getImgResource()
      */
     public function getImageDimensions($imageFile)
     {
         preg_match('/([^\\.]*)$/', $imageFile, $reg);
      * @see imageMagickConvert(), \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer::getImgResource()
      */
     public function getImageDimensions($imageFile)
     {
         preg_match('/([^\\.]*)$/', $imageFile, $reg);
-        if (file_exists($imageFile) && GeneralUtility::inList($this->imageFileExt, strtolower($reg[0]))) {
+        if (file_exists($imageFile) && in_array(strtolower($reg[0]), $this->imageFileExt, true)) {
             if ($returnArr = $this->getCachedImageDimensions($imageFile)) {
                 return $returnArr;
             if ($returnArr = $this->getCachedImageDimensions($imageFile)) {
                 return $returnArr;
+            }
+            if ($temp = @getimagesize($imageFile)) {
+                $returnArr = [$temp[0], $temp[1], strtolower($reg[0]), $imageFile];
             } else {
             } else {
-                if ($temp = @getimagesize($imageFile)) {
-                    $returnArr = array($temp[0], $temp[1], strtolower($reg[0]), $imageFile);
-                } else {
-                    $returnArr = $this->imageMagickIdentify($imageFile);
-                }
-                if ($returnArr) {
-                    $this->cacheImageDimensions($returnArr);
-                    return $returnArr;
-                }
+                $returnArr = $this->imageMagickIdentify($imageFile);
+            }
+            if ($returnArr) {
+                $this->cacheImageDimensions($returnArr);
+                return $returnArr;
             }
         }
         return null;
             }
         }
         return null;
@@ -2312,13 +2193,13 @@ class GraphicalFunctions
         $statusHash = $this->generateStatusHashForImageFile($filePath);
         $identifier = $this->generateCacheKeyForImageFile($filePath);
 
         $statusHash = $this->generateStatusHashForImageFile($filePath);
         $identifier = $this->generateCacheKeyForImageFile($filePath);
 
-        /** @var \TYPO3\CMS\Core\Cache\Frontend\VariableFrontend $cache */
+        /** @var \TYPO3\CMS\Core\Cache\Frontend\FrontendInterface $cache */
         $cache = GeneralUtility::makeInstance(CacheManager::class)->getCache('cache_imagesizes');
         $cache = GeneralUtility::makeInstance(CacheManager::class)->getCache('cache_imagesizes');
-        $imageDimensions = array(
+        $imageDimensions = [
             'hash'        => $statusHash,
             'imagewidth'  => $identifyResult[0],
             'imageheight' => $identifyResult[1],
             'hash'        => $statusHash,
             'imagewidth'  => $identifyResult[0],
             'imageheight' => $identifyResult[1],
-        );
+        ];
         $cache->set($identifier, $imageDimensions);
 
         return true;
         $cache->set($identifier, $imageDimensions);
 
         return true;
@@ -2336,7 +2217,7 @@ class GraphicalFunctions
     {
         $statusHash = $this->generateStatusHashForImageFile($filePath);
         $identifier = $this->generateCacheKeyForImageFile($filePath);
     {
         $statusHash = $this->generateStatusHashForImageFile($filePath);
         $identifier = $this->generateCacheKeyForImageFile($filePath);
-        /** @var \TYPO3\CMS\Core\Cache\Frontend\VariableFrontend $cache */
+        /** @var \TYPO3\CMS\Core\Cache\Frontend\FrontendInterface $cache */
         $cache = GeneralUtility::makeInstance(CacheManager::class)->getCache('cache_imagesizes');
         $cachedImageDimensions = $cache->get($identifier);
         if (!isset($cachedImageDimensions['hash'])) {
         $cache = GeneralUtility::makeInstance(CacheManager::class)->getCache('cache_imagesizes');
         $cachedImageDimensions = $cache->get($identifier);
         if (!isset($cachedImageDimensions['hash'])) {
@@ -2349,12 +2230,12 @@ class GraphicalFunctions
             $result = false;
         } else {
             preg_match('/([^\\.]*)$/', $filePath, $imageExtension);
             $result = false;
         } else {
             preg_match('/([^\\.]*)$/', $filePath, $imageExtension);
-            $result = array(
+            $result = [
                 (int)$cachedImageDimensions['imagewidth'],
                 (int)$cachedImageDimensions['imageheight'],
                 strtolower($imageExtension[0]),
                 $filePath
                 (int)$cachedImageDimensions['imagewidth'],
                 (int)$cachedImageDimensions['imageheight'],
                 strtolower($imageExtension[0]),
                 $filePath
-            );
+            ];
         }
 
         return $result;
         }
 
         return $result;
@@ -2528,11 +2409,11 @@ class GraphicalFunctions
         }
 
         $frame = $this->addFrameSelection ? '[0]' : '';
         }
 
         $frame = $this->addFrameSelection ? '[0]' : '';
-        $cmd = GeneralUtility::imageMagickCommand('identify', CommandUtility::escapeShellArgument($imagefile) . $frame);
-        $returnVal = array();
+        $cmd = CommandUtility::imageMagickCommand('identify', CommandUtility::escapeShellArgument($imagefile) . $frame);
+        $returnVal = [];
         CommandUtility::exec($cmd, $returnVal);
         $splitstring = array_pop($returnVal);
         CommandUtility::exec($cmd, $returnVal);
         $splitstring = array_pop($returnVal);
-        $this->IM_commands[] = array('identify', $cmd, $splitstring);
+        $this->IM_commands[] = ['identify', $cmd, $splitstring];
         if ($splitstring) {
             preg_match('/([^\\.]*)$/', $imagefile, $reg);
             $splitinfo = explode(' ', $splitstring);
         if ($splitstring) {
             preg_match('/([^\\.]*)$/', $imagefile, $reg);
             $splitinfo = explode(' ', $splitstring);
@@ -2548,7 +2429,7 @@ class GraphicalFunctions
                 }
             }
             if (!empty($dim[0]) && !empty($dim[1])) {
                 }
             }
             if (!empty($dim[0]) && !empty($dim[1])) {
-                return array($dim[0], $dim[1], strtolower($reg[0]), $imagefile);
+                return [$dim[0], $dim[1], strtolower($reg[0]), $imagefile];
             }
         }
         return null;
             }
         }
         return null;
@@ -2572,8 +2453,8 @@ class GraphicalFunctions
         // If addFrameSelection is set in the Install Tool, a frame number is added to
         // select a specific page of the image (by default this will be the first page)
         $frame  = $this->addFrameSelection ? '[' . (int)$frame . ']' : '';
         // If addFrameSelection is set in the Install Tool, a frame number is added to
         // select a specific page of the image (by default this will be the first page)
         $frame  = $this->addFrameSelection ? '[' . (int)$frame . ']' : '';
-        $cmd = GeneralUtility::imageMagickCommand('convert', $params . ' ' . CommandUtility::escapeShellArgument($input . $frame) . ' ' . CommandUtility::escapeShellArgument($output));
-        $this->IM_commands[] = array($output, $cmd);
+        $cmd = CommandUtility::imageMagickCommand('convert', $params . ' ' . CommandUtility::escapeShellArgument($input . $frame) . ' ' . CommandUtility::escapeShellArgument($output));
+        $this->IM_commands[] = [$output, $cmd];
         $ret = CommandUtility::exec($cmd);
         // Change the permissions of the file
         GeneralUtility::fixPermissions($output);
         $ret = CommandUtility::exec($cmd);
         // Change the permissions of the file
         GeneralUtility::fixPermissions($output);
@@ -2600,12 +2481,12 @@ class GraphicalFunctions
         $this->imageMagickExec($mask, $theMask, '-colorspace GRAY +matte');
 
         $parameters = '-compose over +matte '
         $this->imageMagickExec($mask, $theMask, '-colorspace GRAY +matte');
 
         $parameters = '-compose over +matte '
-                      . CommandUtility::escapeShellArgument($input) . ' '
-                      . CommandUtility::escapeShellArgument($overlay) . ' '
-                      . CommandUtility::escapeShellArgument($theMask) . ' '
-                      . CommandUtility::escapeShellArgument($output);
-        $cmd = GeneralUtility::imageMagickCommand('combine', $parameters);
-        $this->IM_commands[] = array($output, $cmd);
+            . CommandUtility::escapeShellArgument($input) . ' '
+            . CommandUtility::escapeShellArgument($overlay) . ' '
+            . CommandUtility::escapeShellArgument($theMask) . ' '
+            . CommandUtility::escapeShellArgument($output);
+        $cmd = CommandUtility::imageMagickCommand('combine', $parameters);
+        $this->IM_commands[] = [$output, $cmd];
         $ret = CommandUtility::exec($cmd);
         // Change the permissions of the file
         GeneralUtility::fixPermissions($output);
         $ret = CommandUtility::exec($cmd);
         // Change the permissions of the file
         GeneralUtility::fixPermissions($output);
@@ -2645,7 +2526,7 @@ class GraphicalFunctions
             $temporaryName = dirname($theFile) . '/' . md5(uniqid('', true)) . '.gif';
             // Rename could fail, if a simultaneous thread is currently working on the same thing
             if (@rename($theFile, $temporaryName)) {
             $temporaryName = dirname($theFile) . '/' . md5(uniqid('', true)) . '.gif';
             // Rename could fail, if a simultaneous thread is currently working on the same thing
             if (@rename($theFile, $temporaryName)) {
-                $cmd = GeneralUtility::imageMagickCommand('convert', '"' . $temporaryName . '" "' . $theFile . '"', $gfxConf['processor_path_lzw']);
+                $cmd = CommandUtility::imageMagickCommand('convert', '"' . $temporaryName . '" "' . $theFile . '"', $gfxConf['processor_path_lzw']);
                 CommandUtility::exec($cmd);
                 unlink($temporaryName);
             }
                 CommandUtility::exec($cmd);
                 unlink($temporaryName);
             }
@@ -2654,9 +2535,9 @@ class GraphicalFunctions
                 GeneralUtility::fixPermissions($theFile);
             }
         } elseif (($type === 'GD' || !$type) && $gfxConf['gdlib'] && !$gfxConf['gdlib_png']) {
                 GeneralUtility::fixPermissions($theFile);
             }
         } elseif (($type === 'GD' || !$type) && $gfxConf['gdlib'] && !$gfxConf['gdlib_png']) {
-            $tempImage = imageCreateFromGif($theFile);
-            imageGif($tempImage, $theFile);
-            imageDestroy($tempImage);
+            $tempImage = imagecreatefromgif($theFile);
+            imagegif($tempImage, $theFile);
+            imagedestroy($tempImage);
             $returnCode = 'GD';
             if (@is_file($theFile)) {
                 GeneralUtility::fixPermissions($theFile);
             $returnCode = 'GD';
             if (@is_file($theFile)) {
                 GeneralUtility::fixPermissions($theFile);
@@ -2674,7 +2555,7 @@ class GraphicalFunctions
      *
      * @param string $theFile Filepath of image file
      * @param bool $output_png If TRUE, then input file is converted to PNG, otherwise to GIF
      *
      * @param string $theFile Filepath of image file
      * @param bool $output_png If TRUE, then input file is converted to PNG, otherwise to GIF
-     * @return string|NULL If the new image file exists, its filepath is returned
+     * @return string|null If the new image file exists, its filepath is returned
      */
     public static function readPngGif($theFile, $output_png = false)
     {
      */
     public static function readPngGif($theFile, $output_png = false)
     {
@@ -2683,7 +2564,7 @@ class GraphicalFunctions
         }
 
         $ext = strtolower(substr($theFile, -4, 4));
         }
 
         $ext = strtolower(substr($theFile, -4, 4));
-        if ((string)$ext == '.png' && $output_png || (string)$ext == '.gif' && !$output_png) {
+        if ((string)$ext === '.png' && $output_png || (string)$ext === '.gif' && !$output_png) {
             return $theFile;
         }
 
             return $theFile;
         }
 
@@ -2691,8 +2572,10 @@ class GraphicalFunctions
             GeneralUtility::mkdir_deep(PATH_site . 'typo3temp/assets/images/');
         }
         $newFile = PATH_site . 'typo3temp/assets/images/' . md5($theFile . '|' . filemtime($theFile)) . ($output_png ? '.png' : '.gif');
             GeneralUtility::mkdir_deep(PATH_site . 'typo3temp/assets/images/');
         }
         $newFile = PATH_site . 'typo3temp/assets/images/' . md5($theFile . '|' . filemtime($theFile)) . ($output_png ? '.png' : '.gif');
-        $cmd = GeneralUtility::imageMagickCommand(
-            'convert', '"' . $theFile . '" "' . $newFile . '"', $GLOBALS['TYPO3_CONF_VARS']['GFX']['processor_path']
+        $cmd = CommandUtility::imageMagickCommand(
+            'convert',
+            '"' . $theFile . '" "' . $newFile . '"',
+            $GLOBALS['TYPO3_CONF_VARS']['GFX']['processor_path']
         );
         CommandUtility::exec($cmd);
         if (@is_file($newFile)) {
         );
         CommandUtility::exec($cmd);
         if (@is_file($newFile)) {
@@ -2709,33 +2592,10 @@ class GraphicalFunctions
      ***********************************/
 
     /**
      ***********************************/
 
     /**
-     * Creates subdirectory in typo3temp/ if not already found.
-     *
-     * @param string $dirName Name of sub directory
-     * @return bool Result of \TYPO3\CMS\Core\Utility\GeneralUtility::mkdir(), TRUE if it went well.
-     */
-    public function createTempSubDir($dirName)
-    {
-        // Checking if the this->tempPath is already prefixed with PATH_site and if not, prefix it with that constant.
-        if (GeneralUtility::isFirstPartOfStr($this->tempPath, PATH_site)) {
-            $tmpPath = $this->tempPath;
-        } else {
-            $tmpPath = PATH_site . $this->tempPath;
-        }
-        // Making the temporary filename:
-        if (!@is_dir(($tmpPath . $dirName))) {
-            GeneralUtility::mkdir_deep($tmpPath . $dirName);
-            return @is_dir($tmpPath . $dirName);
-        }
-        return false;
-    }
-
-    /**
      * Applies an ImageMagick parameter to a GDlib image pointer resource by writing the resource to file, performing an IM operation upon it and reading back the result into the ImagePointer.
      *
      * @param resource $im The image pointer (reference)
      * @param string $command The ImageMagick parameters. Like effects, scaling etc.
      * Applies an ImageMagick parameter to a GDlib image pointer resource by writing the resource to file, performing an IM operation upon it and reading back the result into the ImagePointer.
      *
      * @param resource $im The image pointer (reference)
      * @param string $command The ImageMagick parameters. Like effects, scaling etc.
-     * @return void
      */
     public function applyImageMagickToPHPGif(&$im, $command)
     {
      */
     public function applyImageMagickToPHPGif(&$im, $command)
     {
@@ -2745,14 +2605,12 @@ class GraphicalFunctions
         $this->imageMagickExec($theFile, $theFile, $command);
         $tmpImg = $this->imageCreateFromFile($theFile);
         if ($tmpImg) {
         $this->imageMagickExec($theFile, $theFile, $command);
         $tmpImg = $this->imageCreateFromFile($theFile);
         if ($tmpImg) {
-            ImageDestroy($im);
+            imagedestroy($im);
             $im = $tmpImg;
             $this->w = imagesx($im);
             $this->h = imagesy($im);
         }
             $im = $tmpImg;
             $this->w = imagesx($im);
             $this->h = imagesy($im);
         }
-        if (!$this->dontUnlinkTempFiles) {
-            unlink($theFile);
-        }
+        unlink($theFile);
     }
 
     /**
     }
 
     /**
@@ -2766,11 +2624,10 @@ class GraphicalFunctions
      */
     public function gif_or_jpg($type, $w, $h)
     {
      */
     public function gif_or_jpg($type, $w, $h)
     {
-        if ($type == 'ai' || $w * $h < $this->pixelLimitGif) {
+        if ($type === 'ai' || $w * $h < $this->pixelLimitGif) {
             return $this->gifExtension;
             return $this->gifExtension;
-        } else {
-            return 'jpg';
         }
         }
+        return 'jpg';
     }
 
     /**
     }
 
     /**
@@ -2785,16 +2642,15 @@ class GraphicalFunctions
     public function output($file)
     {
         if ($file) {
     public function output($file)
     {
         if ($file) {
-            $reg = array();
+            $reg = [];
             preg_match('/([^\\.]*)$/', $file, $reg);
             $ext = strtolower($reg[0]);
             switch ($ext) {
                 case 'gif':
             preg_match('/([^\\.]*)$/', $file, $reg);
             $ext = strtolower($reg[0]);
             switch ($ext) {
                 case 'gif':
-
                 case 'png':
                     if ($this->ImageWrite($this->im, $file)) {
                         // ImageMagick operations
                 case 'png':
                     if ($this->ImageWrite($this->im, $file)) {
                         // ImageMagick operations
-                        if ($this->setup['reduceColors'] || !$this->png_truecolor) {
+                        if ($this->setup['reduceColors']) {
                             $reduced = $this->IMreduceColors($file, MathUtility::forceIntegerInRange($this->setup['reduceColors'], 256, $this->truecolorColors, 256));
                             if ($reduced) {
                                 @copy($reduced, $file);
                             $reduced = $this->IMreduceColors($file, MathUtility::forceIntegerInRange($this->setup['reduceColors'], 256, $this->truecolorColors, 256));
                             if ($reduced) {
                                 @copy($reduced, $file);
@@ -2807,15 +2663,13 @@ class GraphicalFunctions
                     }
                     break;
                 case 'jpg':
                     }
                     break;
                 case 'jpg':
-
                 case 'jpeg':
                     // Use the default
                     $quality = 0;
                     if ($this->setup['quality']) {
                         $quality = MathUtility::forceIntegerInRange($this->setup['quality'], 10, 100);
                     }
                 case 'jpeg':
                     // Use the default
                     $quality = 0;
                     if ($this->setup['quality']) {
                         $quality = MathUtility::forceIntegerInRange($this->setup['quality'], 10, 100);
                     }
-                    if ($this->ImageWrite($this->im, $file, $quality)) {
-                    }
+                    $this->ImageWrite($this->im, $file, $quality);
                     break;
             }
         }
                     break;
             }
         }
@@ -2825,12 +2679,11 @@ class GraphicalFunctions
     /**
      * Destroy internal image pointer, $this->im
      *
     /**
      * Destroy internal image pointer, $this->im
      *
-     * @return void
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::gifBuild()
      */
     public function destroy()
     {
      * @see \TYPO3\CMS\Frontend\Imaging\GifBuilder::gifBuild()
      */
     public function destroy()
     {
-        ImageDestroy($this->im);
+        imagedestroy($this->im);
     }
 
     /**
     }
 
     /**
@@ -2860,24 +2713,23 @@ class GraphicalFunctions
         $result = false;
         switch ($ext) {
             case 'jpg':
         $result = false;
         switch ($ext) {
             case 'jpg':
-
             case 'jpeg':
             case 'jpeg':
-                if (function_exists('imageJpeg')) {
-                    if ($quality == 0) {
+                if (function_exists('imagejpeg')) {
+                    if ($quality === 0) {
                         $quality = $this->jpegQuality;
                     }
                         $quality = $this->jpegQuality;
                     }
-                    $result = imageJpeg($destImg, $theImage, $quality);
+                    $result = imagejpeg($destImg, $theImage, $quality);
                 }
                 break;
             case 'gif':
                 }
                 break;
             case 'gif':
-                if (function_exists('imageGif')) {
+                if (function_exists('imagegif')) {
                     imagetruecolortopalette($destImg, true, 256);
                     imagetruecolortopalette($destImg, true, 256);
-                    $result = imageGif($destImg, $theImage);
+                    $result = imagegif($destImg, $theImage);
                 }
                 break;
             case 'png':
                 }
                 break;
             case 'png':
-                if (function_exists('imagePng')) {
-                    $result = ImagePng($destImg, $theImage);
+                if (function_exists('imagepng')) {
+                    $result = imagepng($destImg, $theImage);
                 }
                 break;
         }
                 }
                 break;
         }
@@ -2901,12 +2753,12 @@ class GraphicalFunctions
         switch ($ext) {
             case 'gif':
                 if (function_exists('imagecreatefromgif')) {
         switch ($ext) {
             case 'gif':
                 if (function_exists('imagecreatefromgif')) {
-                    return imageCreateFromGif($sourceImg);
+                    return imagecreatefromgif($sourceImg);
                 }
                 break;
             case 'png':
                 if (function_exists('imagecreatefrompng')) {
                 }
                 break;
             case 'png':
                 if (function_exists('imagecreatefrompng')) {
-                    $imageHandle = imageCreateFromPng($sourceImg);
+                    $imageHandle = imagecreatefrompng($sourceImg);
                     if ($this->saveAlphaLayer) {
                         imagesavealpha($imageHandle, true);
                     }
                     if ($this->saveAlphaLayer) {
                         imagesavealpha($imageHandle, true);
                     }
@@ -2914,18 +2766,17 @@ class GraphicalFunctions
                 }
                 break;
             case 'jpg':
                 }
                 break;
             case 'jpg':
-
             case 'jpeg':
                 if (function_exists('imagecreatefromjpeg')) {
             case 'jpeg':
                 if (function_exists('imagecreatefromjpeg')) {
-                    return imageCreateFromJpeg($sourceImg);
+                    return imagecreatefromjpeg($sourceImg);
                 }
                 break;
         }
         // If non of the above:
         $i = @getimagesize($sourceImg);
         $im = imagecreatetruecolor($i[0], $i[1]);
                 }
                 break;
         }
         // If non of the above:
         $i = @getimagesize($sourceImg);
         $im = imagecreatetruecolor($i[0], $i[1]);
-        $Bcolor = ImageColorAllocate($im, 128, 128, 128);
-        ImageFilledRectangle($im, 0, 0, $i[0], $i[1], $Bcolor);
+        $Bcolor = imagecolorallocate($im, 128, 128, 128);
+        imagefilledrectangle($im, 0, 0, $i[0], $i[1], $Bcolor);
         return $im;
     }
 
         return $im;
     }
 
@@ -2970,7 +2821,7 @@ class GraphicalFunctions
             $postName = $this->randomName() . '.png';
             $tmpImg = null;
             if (count($colArr) > 1) {
             $postName = $this->randomName() . '.png';
             $tmpImg = null;
             if (count($colArr) > 1) {
-                $this->imageWrite($img, $preName);
+                $this->ImageWrite($img, $preName);
                 $firstCol = $this->hexColor($firstColArr);
                 foreach ($colArr as $transparentColor) {
                     $transparentColor = $this->convertColor($transparentColor);
                 $firstCol = $this->hexColor($firstColArr);
                 foreach ($colArr as $transparentColor) {
                     $transparentColor = $this->convertColor($transparentColor);
@@ -2989,19 +2840,17 @@ class GraphicalFunctions
             if ($tmpImg) {
                 $img = $tmpImg;
                 if ($closest) {
             if ($tmpImg) {
                 $img = $tmpImg;
                 if ($closest) {
-                    $retCol = ImageColorClosest($img, $firstColArr[0], $firstColArr[1], $firstColArr[2]);
+                    $retCol = imagecolorclosest($img, $firstColArr[0], $firstColArr[1], $firstColArr[2]);
                 } else {
                 } else {
-                    $retCol = ImageColorExact($img, $firstColArr[0], $firstColArr[1], $firstColArr[2]);
+                    $retCol = imagecolorexact($img, $firstColArr[0], $firstColArr[1], $firstColArr[2]);
                 }
             }
             // Unlink files from process
                 }
             }
             // Unlink files from process
-            if (!$this->dontUnlinkTempFiles) {
-                if ($origName) {
-                    @unlink($origName);
-                }
-                if ($postName) {
-                    @unlink($postName);
-                }
+            if ($origName) {
+                @unlink($origName);
+            }
+            if ($postName) {
+                @unlink($postName);
             }
         }
         return $retCol;
             }
         }
         return $retCol;
@@ -3016,7 +2865,6 @@ class GraphicalFunctions
      * @param string $textline1 Text line 1
      * @param string $textline2 Text line 2
      * @param string $textline3 Text line 3
      * @param string $textline1 Text line 1
      * @param string $textline2 Text line 2
      * @param string $textline3 Text line 3
-     * @return void
      * @throws \RuntimeException
      */
     public function getTemporaryImageWithText($filename, $textline1, $textline2, $textline3)
      * @throws \RuntimeException
      */
     public function getTemporaryImageWithText($filename, $textline1, $textline2, $textline3)
@@ -3032,28 +2880,40 @@ class GraphicalFunctions
             $im = imagecreatefromgif($basePath . 'NotFound.gif');
         }
         // Sets background color and print color.
             $im = imagecreatefromgif($basePath . 'NotFound.gif');
         }
         // Sets background color and print color.
-        $white = imageColorAllocate($im, 255, 255, 255);
-        $black = imageColorAllocate($im, 0, 0, 0);
+        $white = imagecolorallocate($im, 255, 255, 255);
+        $black = imagecolorallocate($im, 0, 0, 0);
         // Prints the text strings with the build-in font functions of GD
         $x = 0;
         $font = 0;
         if ($textline1) {
             imagefilledrectangle($im, $x, 9, 56, 16, $white);
         // Prints the text strings with the build-in font functions of GD
         $x = 0;
         $font = 0;
         if ($textline1) {
             imagefilledrectangle($im, $x, 9, 56, 16, $white);
-            imageString($im, $font, $x, 9, $textline1, $black);
+            imagestring($im, $font, $x, 9, $textline1, $black);
         }
         if ($textline2) {
             imagefilledrectangle($im, $x, 19, 56, 26, $white);
         }
         if ($textline2) {
             imagefilledrectangle($im, $x, 19, 56, 26, $white);
-            imageString($im, $font, $x, 19, $textline2, $black);
+            imagestring($im, $font, $x, 19, $textline2, $black);
         }
         if ($textline3) {
             imagefilledrectangle($im, $x, 29, 56, 36, $white);
         }
         if ($textline3) {
             imagefilledrectangle($im, $x, 29, 56, 36, $white);
-            imageString($im, $font, $x, 29, substr($textline3, -14), $black);
+            imagestring($im, $font, $x, 29, substr($textline3, -14), $black);
         }
         // Outputting the image stream and exit
         if (!empty($GLOBALS['TYPO3_CONF_VARS']['GFX']['gdlib_png'])) {
         }
         // Outputting the image stream and exit
         if (!empty($GLOBALS['TYPO3_CONF_VARS']['GFX']['gdlib_png'])) {
-            imagePng($im, $filename);
+            imagepng($im, $filename);
         } else {
         } else {
-            imageGif($im, $filename);
+            imagegif($im, $filename);
         }
     }
         }
     }
+
+    /**
+     * Function to compensate for DPI resolution.
+     * FreeType 2 always has 96 dpi, so it is hard-coded at this place.
+     *
+     * @param float $fontSize font size for freetype function call
+     * @return float compensated font size based on 96 dpi
+     */
+    protected function compensateFontSizeiBasedOnFreetypeDpi($fontSize)
+    {
+        return $fontSize / 96.0 * 72;
+    }
 }
 }