1.0.2 • Published 1 month ago

@tanzhenxing/zx-watermark v1.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
1 month ago

ZxWatermark 水印组件

在页面上添加文本或图片等水印信息,支持多端兼容

基础用法

<template>
  <zx-watermark>
    <view style="height: 500px">
      页面内容
    </view>
  </zx-watermark>
</template>

局部水印

设置 fullPagefalse 来创建局部水印

<template>
  <view style="position: relative; height: 500px">
    <zx-watermark :full-page="false" font-color="#fa2c19" content="局部水印">
      <view style="padding: 20px">
        页面内容
      </view>
    </zx-watermark>
  </view>
</template>

多行水印

使用 content 设置一个字符串数组来指定多行文本水印内容

<template>
  <zx-watermark :content="['ZxWatermark', 'Vue3 组件']" :gap-y="24">
    <view style="height: 500px">
      页面内容
    </view>
  </zx-watermark>
</template>

图片水印

通过 image 指定图像地址。为了确保图像清晰展示,请设置 imageWidthimageHeight,建议使用至少两倍分辨率的图片。

<template>
  <zx-watermark
    :width="130"
    :height="30"
    :image-width="120"
    :image-height="64"
    image="https://zxui.org/logo.png"
  >
    <view style="height: 500px">
      页面内容
    </view>
  </zx-watermark>
</template>

自定义配置

<template>
  <zx-watermark
    content="自定义水印"
    font-color="rgba(255, 0, 0, 0.3)"
    :font-size="20"
    font-weight="bold"
    :rotate="-45"
    :gap-x="120"
    :gap-y="120"
    :offset="[60, 60]"
  >
    <view style="height: 500px">
      页面内容
    </view>
  </zx-watermark>
</template>

API

Props

属性名描述类型默认值
width水印的宽度number120
height水印的高度number64
rotate水印的旋转角度,单位 °number-22
zIndex水印元素的z-index值number2000
image水印图片,建议使用 2x 或 3x 图像string
imageWidth图片宽度number120
imageHeight图片高度number64
content水印文本内容string/array'ZxWatermark'
fontColor水印文字颜色stringrgba(0,0,0,.15)
fontSize水印文字大小string/number16
fontFamily水印文字字体stringPingFang SC
fontWeight水印文字粗细stringnormal
fontStyle水印文字样式stringnormal
gapX水印之间的水平间距number24
gapY水印之间的垂直间距number48
fullPage是否覆盖整个页面booleantrue
font文字样式(兼容旧版本)object{}
gap水印之间的间距(兼容旧版本)array[]
offset水印从容器左上角的偏移arraygapX/2, gapY/2

Font 对象(兼容旧版本)

当使用 font 属性时,可以包含以下字段:

名称详情类型默认值
color字体颜色stringrgba(0,0,0,.15)
fontSize字体大小number16
fontWeight字重stringnormal
fontFamily字体stringPingFang SC
fontStyle字体样式stringnormal

Slots

名称描述
default添加水印的容器

特性

  • ✨ 支持文本和图片水印
  • 📝 支持多行文本水印
  • 🎨 支持自定义样式配置
  • 🔒 支持防删除保护(H5环境)
  • 📱 多端兼容(H5、小程序、App)
  • 🖥️ 高清显示支持(支持高DPI屏幕)
  • 🌐 全屏或局部水印支持
  • 🔄 智能回退模式:在不支持Canvas的环境中自动切换到CSS水印模式

兼容性

Canvas 模式(推荐)

  • ✅ H5 环境完全支持
  • ✅ 支持文本和图片水印
  • ✅ 支持精确的旋转角度和样式控制
  • ✅ 支持防删除保护
  • ✅ uniapp 多端环境支持

CSS 回退模式

  • ✅ 仅支持文本水印
  • ✅ 基础的旋转和样式支持
  • ✅ 在不支持Canvas的环境中自动启用
  • ✅ 保证组件在所有环境下都能正常工作

平台支持

平台Canvas模式CSS回退模式防删除保护
H5
微信小程序
支付宝小程序
App
其他小程序

注意事项

  1. 📸 图片水印建议使用 2x 或 3x 分辨率的图片以确保清晰度
  2. 📱 水印会自动适配设备像素比,在高DPI屏幕上显示清晰
  3. 🔒 组件内置防删除机制,能够防止水印被恶意删除(仅H5环境的Canvas模式)
  4. 🎯 水印不会影响子元素的交互事件
  5. 🔄 自动兼容性检测:组件会自动检测当前环境,在不支持Canvas时切换到CSS模式
  6. 📦 在小程序环境中会优先使用Canvas模式,不支持时自动回退到CSS模式
  7. 🌐 fullPagetrue 时水印覆盖整个页面,为 false 时仅覆盖组件容器区域
  8. ⚡ 新版本API向下兼容,支持旧版本的 fontgap 属性写法