在 extbase 中创建带有水印的图像
Create Images with watermark in extbase
我有一个存储 FileReference
的模型。现在我想在 Extbase 控制器中创建一个带有水印的图像。有人知道我必须在哪里寻找吗?我只找到了打字错误的解决方案。
我认为最简单的方法是使用打字解决方案。这一定不是纯粹的拼写错误,但拼写错误的数据结构可能需要作为 GifBuilder class 核心功能的参数。 TYPO3 7.6 API
也可以使用GifBuilder class is inherited from the class GraphicalFunctions,因为只添加了一些内容,主要功能就在这里。
最后一个问题是根据此任务在网络中的示例:它们是基于 pi 的,所有这些都以类似
的形式结束
$img = $this->cObj->IMAGE($typoScriptArray);
在使用当前 API 的现代(命名空间)表示法中,这将是:
$gifCreator = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Imaging\GifBuilder::class);
$gifCreator->init();
$theImage='';
if ($GLOBALS['TYPO3_CONF_VARS']['GFX']['gdlib']) {
$gifCreator->start($fileArray, $typoScriptArray);
$theImage = $gifCreator->gifBuild();
}
我选择了 TypoScript 方式并且效果很好。
流体:
<f:cObject typoscriptObjectPath="lib.tx_myext.watermarkedImage" data="{imageUid:'{image.uid}',copyright:'{image.copyright}')}'}"/>
打字错误:
lib.tx_myext.watermarkedImage = IMAGE
lib.tx_myext.watermarkedImage {
file = GIFBUILDER
file {
XY = [10.w],[10.h]
format = jpg
10 = IMAGE
10 {
file {
import.field = imageUid
treatIdAsReference = 1
width = 1162
height = 580c
}
}
20 = BOX
20 {
color = #FFFFFF
opacity = 70
dimensions = [10.w]-[30.w]-10,[10.h]-20,[30.w]+20,[30.h]+20
}
30 = TEXT
30 {
text.data = field:copyright
fontSize = 15
fontColor = #000000
fontFile = path/to/my/font.ttf
offset = [10.w]-[30.w]-5,[10.h]-5
}
}
}
结果是右下角带有白框和版权文本的图像。
我有一个存储 FileReference
的模型。现在我想在 Extbase 控制器中创建一个带有水印的图像。有人知道我必须在哪里寻找吗?我只找到了打字错误的解决方案。
我认为最简单的方法是使用打字解决方案。这一定不是纯粹的拼写错误,但拼写错误的数据结构可能需要作为 GifBuilder class 核心功能的参数。 TYPO3 7.6 API
也可以使用GifBuilder class is inherited from the class GraphicalFunctions,因为只添加了一些内容,主要功能就在这里。
最后一个问题是根据此任务在网络中的示例:它们是基于 pi 的,所有这些都以类似
的形式结束$img = $this->cObj->IMAGE($typoScriptArray);
在使用当前 API 的现代(命名空间)表示法中,这将是:
$gifCreator = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Imaging\GifBuilder::class);
$gifCreator->init();
$theImage='';
if ($GLOBALS['TYPO3_CONF_VARS']['GFX']['gdlib']) {
$gifCreator->start($fileArray, $typoScriptArray);
$theImage = $gifCreator->gifBuild();
}
我选择了 TypoScript 方式并且效果很好。
流体:
<f:cObject typoscriptObjectPath="lib.tx_myext.watermarkedImage" data="{imageUid:'{image.uid}',copyright:'{image.copyright}')}'}"/>
打字错误:
lib.tx_myext.watermarkedImage = IMAGE
lib.tx_myext.watermarkedImage {
file = GIFBUILDER
file {
XY = [10.w],[10.h]
format = jpg
10 = IMAGE
10 {
file {
import.field = imageUid
treatIdAsReference = 1
width = 1162
height = 580c
}
}
20 = BOX
20 {
color = #FFFFFF
opacity = 70
dimensions = [10.w]-[30.w]-10,[10.h]-20,[30.w]+20,[30.h]+20
}
30 = TEXT
30 {
text.data = field:copyright
fontSize = 15
fontColor = #000000
fontFile = path/to/my/font.ttf
offset = [10.w]-[30.w]-5,[10.h]-5
}
}
}
结果是右下角带有白框和版权文本的图像。