17 use \TYPO3\CMS\Core\Resource, \TYPO3\CMS\Core\Utility;
57 $originalFileName = $sourceFile->getForLocalProcessing(FALSE);
61 $gifBuilder->absPrefix = PATH_site;
63 $configuration = $targetFile->getProcessingConfiguration();
66 if (empty($configuration[
'fileExtension'])) {
73 if (!(is_array($configuration[
'maskImages']) &&
$GLOBALS[
'TYPO3_CONF_VARS'][
'GFX'][
'im'])) {
75 $result = $gifBuilder->imageMagickConvert(
77 $configuration[
'fileExtension'],
78 $configuration[
'width'],
79 $configuration[
'height'],
80 $configuration[
'additionalParameters'],
81 $configuration[
'frame'],
86 $temporaryFileName = $gifBuilder->tempPath . $targetFileName;
87 $maskImage = $configuration[
'maskImages'][
'maskImage'];
88 $maskBackgroundImage = $configuration[
'maskImages'][
'backgroundImage'];
90 $temporaryExtension =
'png';
91 if (
$GLOBALS[
'TYPO3_CONF_VARS'][
'GFX'][
'im_mask_temp_ext_gif']) {
93 $temporaryExtension = $gifBuilder->gifExtension;
95 $tempFileInfo = $gifBuilder->imageMagickConvert(
98 $configuration[
'width'],
99 $configuration[
'height'],
100 $configuration[
'additionalParameters'],
101 $configuration[
'frame'],
104 if (is_array($tempFileInfo)) {
105 $maskBottomImage = $configuration[
'maskImages'][
'maskBottomImage'];
106 if ($maskBottomImage instanceof Resource\FileInterface) {
107 $maskBottomImageMask = $configuration[
'maskImages'][
'maskBottomImageMask'];
109 $maskBottomImageMask = NULL;
113 $tempScale = array();
114 $command =
'-geometry ' . $tempFileInfo[0] .
'x' . $tempFileInfo[1] .
'!';
116 $tmpStr = $gifBuilder->randomName();
118 $tempScale[
'm_mask'] = $tmpStr .
'_mask.' . $temporaryExtension;
119 $gifBuilder->imageMagickExec($maskImage->getForLocalProcessing(TRUE), $tempScale[
'm_mask'], $command);
121 $tempScale[
'm_bgImg'] = $tmpStr .
'_bgImg.miff';
122 $gifBuilder->imageMagickExec($maskBackgroundImage->getForLocalProcessing(), $tempScale[
'm_bgImg'], $command);
124 if ($maskBottomImage instanceof Resource\FileInterface && $maskBottomImageMask instanceof Resource\FileInterface) {
125 $tempScale[
'm_bottomImg'] = $tmpStr .
'_bottomImg.' . $temporaryExtension;
126 $gifBuilder->imageMagickExec($maskBottomImage->getForLocalProcessing(), $tempScale[
'm_bottomImg'], $command);
127 $tempScale[
'm_bottomImg_mask'] = ($tmpStr .
'_bottomImg_mask.') . $temporaryExtension;
128 $gifBuilder->imageMagickExec($maskBottomImageMask->getForLocalProcessing(), $tempScale[
'm_bottomImg_mask'], $command);
131 $gifBuilder->combineExec($tempScale[
'm_bgImg'], $tempScale[
'm_bottomImg'], $tempScale[
'm_bottomImg_mask'], $tempScale[
'm_bgImg']);
134 $gifBuilder->combineExec($tempScale[
'm_bgImg'], $tempFileInfo[3], $tempScale[
'm_mask'], $temporaryFileName);
135 $tempFileInfo[3] = $temporaryFileName;
137 foreach ($tempScale as $tempFile) {
138 if (@is_file($tempFile)) {
148 if (
$result[3] !== $originalFileName) {
170 $configuration = $processedFile->getProcessingConfiguration();
172 if ($configuration[
'useSample']) {
173 $gifBuilder->scalecmd =
'-sample';
176 if ($configuration[
'maxWidth']) {
177 $options[
'maxW'] = $configuration[
'maxWidth'];
179 if ($configuration[
'maxHeight']) {
180 $options[
'maxH'] = $configuration[
'maxHeight'];
182 if ($configuration[
'minWidth']) {
183 $options[
'minW'] = $configuration[
'minWidth'];
185 if ($configuration[
'minHeight']) {
186 $options[
'minH'] = $configuration[
'minHeight'];
189 $options[
'noScale'] = $configuration[
'noScale'];
202 $configuration = $task->
getTargetFile()->getProcessingConfiguration();
203 $targetFileExtension = $task->
getSourceFile()->getExtension();
204 $processedFileExtension =
$GLOBALS[
'TYPO3_CONF_VARS'][
'GFX'][
'gdlib_png'] ?
'png' :
'gif';
205 if (is_array($configuration[
'maskImages']) &&
$GLOBALS[
'TYPO3_CONF_VARS'][
'GFX'][
'im'] && $task->
getSourceFile()->getExtension() != $processedFileExtension) {
206 $targetFileExtension =
'jpg';
207 } elseif ($configuration[
'fileExtension']) {
208 $targetFileExtension = $configuration[
'fileExtension'];
211 return $task->
getTargetFile()->generateProcessedFileNameWithoutExtension() .
'.' . ltrim(trim($targetFileExtension),
'.');
223 if (isset($configuration[
'stripProfile'])) {
224 if ($configuration[
'stripProfile']) {
__construct(LocalImageProcessor $processor)
getConfigurationForImageCropScaleMask(Resource\ProcessedFile $processedFile, \TYPO3\CMS\Frontend\Imaging\GifBuilder $gifBuilder)
static makeInstance($className)
if($list_of_literals) if(!empty($literals)) if(!empty($literals)) $result
Analyse literals to prepend the N char to them if their contents aren't numeric.
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]
modifyImageMagickStripProfileParameters($parameters, array $configuration)
getFilenameForImageCropScaleMask(TaskInterface $task)