Skip to content

Watermark 水印组件

在页面或组件上添加指定的图片或文字,可用于版权保护、品牌宣传等场景。

温馨提示

本项目参考了 Wot-UI 开源项目的组件开发方式,基于 Vue 3 和 TypeScript 实现了自定义组件。目前该组件仍处于测试阶段。
感谢 Wot-UI 开源项目及其团队成员的贡献,他们的组件开发思路为本项目提供了宝贵地参考。如果需要了解更多组件开发细节,可以参考Wot-UI的 watermark组件 的代码实现。

平台差异说明

APP(vue)H5微信小程序

基本使用示例

html
<!-- 全局使用 -->
<hy-watermark content="华玥组件库"></hy-watermark>
<!-- 单个组件引入 -->
<HyWatermark content="华玥组件库"></HyWatermark>
ts
import { HyWatermark } from "hy-app"

图片水印

  • 通过设置image,设置网络图片地址或Base64图片
  • image-width:水印图片宽度
  • image-height:水印图片高度

注意

钉钉小程序平台仅支持网络图片

html
<template>
    <hy-watermark image="https://pic1.imgdb.cn/item/67f8dfea88c538a9b5caea38.png" :image-width="38" :image-height="38"></hy-watermark>
</template>

局部水印

  • 通过设置full-screen,设置是否为全屏水印(full-screen为false则局部水印)。
html
<template>
    <hy-watermark image="https://pic1.imgdb.cn/item/67f8dfea88c538a9b5caea38.png" :full-screen="false"></hy-watermark>
</template>

自定义层级和透明度

  • 通过设置image,设置网络图片地址或Base64图片, 通过image-width和image-height字段设置水印图片的宽高。
html
<template>
    <hy-watermark image="https://pic1.imgdb.cn/item/67f8dfea88c538a9b5caea38.png"></hy-watermark>
</template>

水印的间隔距离

  • 通过设置gutterX,设置x轴间隔距离。
  • 通过设置gutterY,设置y轴间隔距离。
html
<template>
    <hy-watermark image="https://pic1.imgdb.cn/item/67f8dfea88c538a9b5caea38.png" :gutterX="40" :gutterY="40"></hy-watermark>
</template>

画布宽度

  • 通过设置width,设置单个水印画布宽度。
  • 通过设置height,设置单个水印画布高度。
html
<template>
    <hy-watermark image="https://pic1.imgdb.cn/item/67f8dfea88c538a9b5caea38.png" :width="200" :height="200"></hy-watermark>
</template>

水印字体设置

  • 通过设置color,设置水印字体颜色。
  • 通过设置size,设置水印字体大小。
  • 通过设置fontStyle,设置水印字体样式。
  • 通过设置fontWeight,设置水印字体的粗细。
  • 通过设置fontFamily,设置水印字体。
html
<template>
    <hy-watermark image="https://pic1.imgdb.cn/item/67f8dfea88c538a9b5caea38.png" color="red" :size="23"></hy-watermark>
</template>

水印旋转角度

  • 通过设置rotate,设置水印旋转角度。
html
<template>
    <hy-watermark image="https://pic1.imgdb.cn/item/67f8dfea88c538a9b5caea38.png" :rotate="25"></hy-watermark>
</template>

水印透明度

  • 通过设置opacity,设置水印旋转角度。
html
<template>
    <hy-watermark image="https://pic1.imgdb.cn/item/67f8dfea88c538a9b5caea38.png" :opacity="1"></hy-watermark>
</template>

API

参数说明类型默认值
content显示内容string-
image显示图片的地址,支持网络图片和base64string-
imageHeight图片高度number50
imageWidth图片宽度number70
gutterXX轴间距,单位pxnumber0
gutterYY轴间距,单位pxnumber0
widthcanvas画布宽度,单位pxnumber100
heightcanvas画布高度,单位pxnumber100
fullScreen是否为全屏水印booleantrue
color水印字体颜色string#8c8c8c
size水印字体大小,单位pxnumber14
fontStyle水印字体样式(仅微信、支付宝和h5支持)normal|italic|obliquenormal
fontWeight水印字体的粗细(仅微信、支付宝和h5支持)normal|bold|boldernormal
fontFamily水印字体系列(仅微信、支付宝和h5支持)stringPingFang SC
rotate水印旋转角度number-25
zIndex自定义层级number10086
opacity自定义透明度,取值 0~1number0.5
customStyle定义需要用到的外部样式CSSProperties-
09:58