# vue3-watermark-plugin **Repository Path**: wsqi/vue3-watermark-plugin ## Basic Information - **Project Name**: vue3-watermark-plugin - **Description**: A powerful Vue 3 watermark plugin with component and directive support - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-07-17 - **Last Updated**: 2026-01-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Vue3 Watermark Plugin 一个功能完整的 Vue 3 水印插件,支持指令和组件两种使用方式。 ## 功能特性 - ✅ 支持自定义文本内容 - ✅ 支持字体大小设置 - ✅ 支持字体颜色设置 - ✅ 支持字体加粗 - ✅ 支持旋转角度设置 - ✅ 支持横向和纵向间距设置 - ✅ 防篡改保护(自动重新生成被删除的水印) - ✅ 响应式更新 - ✅ TypeScript 支持 - ✅ 轻量级,无外部依赖 ## 安装 ```bash npm install vue3-watermark-plugin ``` ## 快速开始 ### 1. 注册插件 ```javascript import { createApp } from "vue"; import App from "./App.vue"; import WatermarkPlugin from "vue3-watermark-plugin"; const app = createApp(App); app.use(WatermarkPlugin); app.mount("#app"); ``` ### 2. 按需引入 ```javascript import { WatermarkComponent, watermarkDirective } from "vue3-watermark-plugin"; // 注册组件 app.component("Watermark", WatermarkComponent); // 注册指令 app.directive("watermark", watermarkDirective); ``` ## 使用方式 ### 指令形式(推荐) ```vue ``` ### 组件形式 ```vue ``` ## 配置参数 | 参数 | 类型 | 默认值 | 说明 | | -------- | ------- | --------------------- | -------------------------------------- | | content | String | '水印文本' | 水印显示的文本内容 | | fontSize | Number | 16 | 字体大小(px) | | color | String | 'rgba(0, 0, 0, 0.15)' | 字体颜色,支持任何 CSS 颜色值 | | bold | Boolean | false | 是否加粗字体 | | rotate | Number | -20 | 旋转角度(度),正数顺时针,负数逆时针 | | gapX | Number | 100 | 水印之间的横向间距(px) | | gapY | Number | 100 | 水印之间的纵向间距(px) | | zIndex | Number | 9999 | 水印层级 | | visible | Boolean | true | 是否显示水印(仅组件形式支持) | ## 高级用法 ### 动态更新水印 ```vue ``` ### 条件显示水印 ```vue ``` ## 注意事项 1. **性能优化**:水印使用 Canvas 生成,大量使用时注意性能 2. **防篡改**:插件内置防篡改机制,但不能防止禁用 JavaScript 3. **样式冲突**:确保容器元素有适当的定位(relative/absolute/fixed) 4. **响应式**:水印会自动适应容器大小变化 ## 浏览器兼容性 - Chrome 60+ - Firefox 55+ - Safari 12+ - Edge 79+ ## 示例 查看 `demo.vue` 文件获取完整的使用示例。