You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SVG中创建可无限重复的文本水印?

实现SVG重复文本水印(Draft)

把<text>放入pattern中没显示,通常是因为文本位置、尺寸设置不当,或者pattern的宽高没适配文本。以下是可以直接使用的实现代码:

<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <!-- 定义重复的文本图案 -->
    <pattern id="draftPattern" x="0" y="0" width="150" height="120" patternUnits="userSpaceOnUse">
      <text x="0" y="20" font-family="Arial" font-size="16" fill="#cccccc" transform="rotate(-45)">Draft</text>
    </pattern>
  </defs>
  <!-- 用图案填充整个SVG区域 -->
  <rect x="0" y="0" width="100%" height="100%" fill="url(#draftPattern)" />
</svg>

关键细节说明:

  • pattern尺寸:width="150"和height="120"控制文本重复的间距,可根据需求调整数值
  • 文本位置:y="20"是文本基线的位置,要略大于font-size(这里是16),确保文本完整显示;x="0"控制水平起始位置
  • 水印样式:transform="rotate(-45)"让文本倾斜,符合常见水印的观感;fill="#cccccc"用浅灰色避免遮挡页面内容
  • 全屏覆盖:外层<rect>设置宽高100%,确保水印铺满整个SVG区域

如果需要更淡的效果,可以给<text>添加opacity="0.5"属性;也可以调整font-size、pattern的宽高来改变水印的密度和大小。

内容的提问来源于stack exchange,提问作者Primordial_Hamster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 03:22:41