前军教程网

中小站长与DIV+CSS网页布局开发技术人员的首选CSS学习平台

若依如何在页面中添加水印,添加水印方法

日常在工作实践中,可能会遇到添加水印的情况,如何在页面中添加水印呢?如下图的效果


实现思路可以利用Watermark实现添加水印的功能

Watermark通常是指嵌入在页面中的半透明图像或文字,用于标识页面所有权或版权信息。在若依Ruoyi-Vue中集成Watermark,可以采用以下思路:

  1. 选择合适的Watermark库:目前流行的Watermark库包括watermark-dom、html2canvas等。
  2. 在Vue组件中引入并使用Watermark库:根据项目需求,选择合适的Watermark库并将其引入Vue组件中。
  3. 配置Watermark参数:设置Watermark的文字内容、位置、大小、颜色等参数。
  4. 动态生成Watermark图像:利用Watermark库提供的功能,动态生成Watermark图像。
  5. 将Watermark图像添加到页面中:将生成的Watermark图像添加到页面DOM结构中,使其覆盖在页面内容之上。

实现步骤

引入Watermark库

首先,需要在项目中引入Watermark库。本文推荐使用watermark-dom库,该库使用简单,易于扩展。可以使用以下命令安装watermark-dom库:

npm install watermark-dom

或者在package.json文件dependencies节点增加watermark-dom依赖。

"watermark-dom": "2.3.0"

2. 配置Watermark参数

在Vue组件中,引入并配置watermark-dom库。例如,在App.vue组件中可以添加如下代码

 
        watermark_id: 'wm_div_id',          //水印总体的id
        watermark_prefix: 'mask_div_id',    //小水印的id前缀
        watermark_txt:"测试水印",             //水印的内容
        watermark_x:20,                     //水印起始位置x轴坐标
        watermark_y:20,                     //水印起始位置Y轴坐标
        watermark_rows:0,                   //水印行数
        watermark_cols:0,                   //水印列数
        watermark_x_space:100,              //水印x轴间隔
        watermark_y_space:50,               //水印y轴间隔
        watermark_font:'微软雅黑',           //水印字体
        watermark_color:'black',            //水印字体颜色
        watermark_fontsize:'18px',          //水印字体大小
        watermark_alpha:0.15,               //水印透明度,要求设置在大于等于0.005
        watermark_width:100,                //水印宽度
        watermark_height:100,               //水印长度
        watermark_angle:15,                 //水印倾斜度数
        watermark_parent_width:0,      //水印的总体宽度(默认值:body的scrollWidth和clientWidth的较大值)
        watermark_parent_height:0,     //水印的总体高度(默认值:body的scrollHeight和clientHeight的较大值)
        watermark_parent_node:null     //水印插件挂载的父元素element,不输入则默认挂在body上

动态生成Watermark图像

在AppMain.vue文件引入水印模块,示例如下:如果想要在单一页面使用,也可以在自己想要的页面中添加

import watermark from "watermark-dom";

export default {
  name: "AppMain",
  mounted() {
    // 加载水印
    const username = this.$store.state.user.name;
    watermark.load({ watermark_txt: username + "水印" });
  },
  computed: {
    .....
  }
};

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言