jwtue / jw_watermark
TYPO3的水印扩展,添加了一个创建水印的ViewHelper。
Requires
- php: >=8.0.0
- typo3/cms-core: ^12.4
README
此扩展添加了一个Fluid ViewHelper,用于在图像上方添加水印图像。
安装
打开命令行,进入您的项目目录,并执行以下命令以下载此包的最新稳定版本
$ composer require jwtue/jw_watermark
此命令要求您全局安装了Composer,具体请参阅Composer文档中的安装章节。
或者,您可以通过Typo3扩展仓库安装它,无需Composer。
用法
要使用水印ViewHelper,首先在fluid HTML文件的开始处导入水印ViewHelper命名空间,如下所示(将第二行添加到现有的html标签)
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
xmlns:jw="http://typo3.org/ns/JwTue/Watermark/ViewHelpers"
data-namespace-typo3-fluid="true">
典型的用法如下所示
<!-- In an embedded image -->
<jw:watermarkedImage watermarkSrc="/fileadmin/Watermark.png" watermarkOpacity="1" watermarkBackgroundColor="FFFFFF" watermarkBackgroundOpacity="0" watermarkOffset: 0, watermarkPositionVertical="bottom" src="{file.uid}" treatIdAsReference="1" />
<!-- or -->
<img src="{jw:uri.watermarkedImage(watermarkSrc: '/fileadmin/Watermark.png', watermarkOpacity: '1', watermarkBackgroundColor: 'FFFFFF', watermarkBackgroundOpacity: '0', watermarkOffset: 0, watermarkPositionVertical: 'bottom', src: file.uid, treatIdAsReference: 1)}">
<!-- In a link -->
<a title="{file.title}" data-description="{file.description}" href="{jw:uri.watermarkedImage(watermarkSrc: '/fileadmin/Watermark.png', watermarkOpacity: '1', watermarkBackgroundColor: 'FFFFFF', watermarkBackgroundOpacity: '0', watermarkOffset: 0, watermarkPositionVertical: 'bottom', src: file.uid, treatIdAsReference: 1, width: settings.media.popup.width, height: settings.media.popup.height)}">
<f:render partial="Media/Rendering/Image" arguments="{file: file, dimensions: dimensions, settings: settings}" />
</a>
这将创建一个带水印的图像链接,预览(通过部分渲染)保持不变。
此ViewHelper可以使用https://docs.typo3.org/other/typo3/view-helper-reference/master/en-us/typo3/fluid/latest/Uri/Image.html中记录的f:uri.image ViewHelper及其所有参数进行使用。
以下附加参数可用于添加水印
watermarkSrc
watermarkTreatIdAsReference
watermarkImage
与src、treatIdAsReference、image相同,来自f:uri.image ViewHelper,但用于水印图像。
watermarkOpacity
水印图像的不透明度值(0=完全透明,1=完全不透明)
watermarkBackgroundColor
用于设置水印背景颜色的十六进制颜色代码
watermarkBackgroundOpacity
水印背景颜色的不透明度(0=完全透明,1=完全不透明)
watermarkPositionHorizontal
水印在图像中的水平位置(左/中/右)
watermarkPositionVertical
水印在图像中的垂直位置(上/中/下)
watermarkOffset
从边缘的偏移量(水平和垂直,以像素为单位)
watermarkOffsetRelative
如果设置,则watermarkOffset不是以像素值解释,而是以图像尺寸的百分比值(0-100)解释。可能的值是width、height、long、short。它们设置基于相对值的维度(图像的宽度和高度,或图像的长边和短边)。
watermarkWidth
水印的宽度(以像素为单位)
watermarkWidthRelative
如果设置,则watermarkWidth不是以像素值解释,而是以图像尺寸的百分比值(0-100)解释。可能的值是width、height、long、short。它们设置基于相对值的维度(图像的宽度和高度,或图像的长边和短边)。
watermarkHeight
水印的高度(以像素为单位)
watermarkHeightRelative
如果设置,则watermarkHeight不是以像素值解释,而是以图像尺寸的百分比值(0-100)解释。可能的值是width、height、long、short。它们设置基于相对值的维度(图像的宽度和高度,或图像的长边和短边)。
限制
目前,仅测试了PNG水印,但JPG水印也可能正常工作。SVG的支持尚不清楚。
此外,ViewHelper只会将水印应用于JPEG图像,而不是任何其他图像格式。
问题和功能请求
请在 https://github.com/jwtue/jw_watermark/issues 报告问题和请求功能。