前端水印生成方案,前端水印和后端水印的差别

  前端水印生成方案,前端水印和后端水印的差别

  前言

  前端水印基本不安全,可以破解~。~

  水印

  水印是一种很容易识别的技术,夹在纸里,能透过光显现出各种阴影。

  实现

  首先,创建一个wrap块,并为其设置一些样式:

  div class= wrap 1 wrap _ common /div style * { margin:0;填充:0;}.wrap _ common { position:relative;边距:0自动;宽度:800px身高:44vh边框:1px实心rgba(0,0,0,1);背景:rgba(255,255,255,1);溢出:隐藏;}.wrap _ common:first-child { margin-bottom:5vh;}/style1. DIV绝对定位

  通过叠加图层将水印添加到包装中。我们先来看看最后的效果。

  动态获取包装的长度和宽度,计算它可以容纳多少水印块,并相应地设置每个水印块顶部左侧的偏移值:

  const wrap=document . query selector( . wrap 1 );const { clientWidth,clientHeight }=wrapconst waterHeight=100const水宽=180;//可以放下几行几列const [columns,rows]=[math . ceil(client width/water width),math . ceil(client height/water height)]for(让I=0;I列;i ) { for(设j=0;j=行数;J) {//生成水印块const watermark element=create watermark element();//动态设置偏移值add attributes(watchermarkelement,{width: ` $ {waterwidth} px`,height: ` $ {waterheight} px `,left:`$ { waterWidth(I-1)* waterWidth 10 } px `,top:` $ { waterHeight(j-1)* waterHeight 10 } px `,});wrap . appendchild(watcerMarkElement)} }2. canvas+背景图

  我们知道,可以为div设置样式背景,很容易实现背景图像,所以水印也可以这样实现,其中背景图像由canvas绘制,图像由to dataURL()转换为dataURL(base64),最后添加到background-image样式中。

  const wrap=文档。querySelector(。wrap 2’);wrap . style . background image=` URL($ { draw watermark()})`;drawWaterMark方法实现如下:

  Const drawWaterMark=(text=小豪看世界)={ const sin=math . sin(math . pi/4.5);const cos=Math.cos(数学。/4.5);const canvas=document . createelement( canvas )canvas . width=200;帆布.高度=100;const CTX=canvas . get context( 2d );ctx.transform(cos,-sin,sin,cos,0,0);CTX . font=" 16px ";ctx.fillStyle=rgba(0,0,0, 4);ctx.fillText(text,80,140);ctx.fillText(text,-30,100);return canvas . toda taurl( image/png )};

  我们可以看到包装插入了base64的图片。有强迫症的童鞋可以处理。把它变成一个风格标签,插入正文;

  改为插入样式标签:

  const style=文档。createElement( style );style . type= text/CSS ;style . innerhtml=` . wrap 2 { background-image:URL($ { draw watermark()});}`;document . body . appendchild(style);Emmm,看起来很美~。~

  参考

  从破解一个设计网站谈前端水印(详细教程)

  源码

  源代码

  这就是本文关于前端水印的简单代码示例。更多相关前端水印内容,请搜索之前的文章或者继续浏览下面的相关文章。希望你以后能支持我!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: