jquery页面水印插件,支持多行水印、行错开
最近工作需求,需要在页面上加水印,但发现网上示例无法满足我的需求,所以还是自己动手写。
有几个特别需求:
1.可以写多行水印,并且中心对齐。
2.每行水印错开。
PS:我找到的例子都是单行水印,所以用不了,想做的效果如下。
(图1)
实现思路
实现页面水印主要是有两种方法。
1.DOM元素
就是将水印放置DOM元素里,按一定规律铺设在目标区域。
优点:
(1).元素计算方式相对简单些
缺点:
2.canvas
先将水印写在canvas里,然后生成背景图,用背景图铺设。
优点:
(1).不用担心目标区域动态变化。
缺点:
(2).计算方式复杂。
思量后,选择了第二种实现方式,性能为重。
实现难点
1.canvas没有针对文字的旋转
在canvas绘图里面,没有针对文字旋转的控制,所以只能旋转画布后,对每行文字一个个按规律排放。
如下图,x0y是视区(也就是你能看到的),x’0y’是旋转了A角度后的画布,所以我们在画布绘制时,每行文字的位置都要做一个修正。
(图2)
PS:矩形代表每行文字,width是每行文字的水平间距,height是第一行文字y坐标。
得出每行文字坐标公式是(伪代码):
x = width * cosA;
y = x * tanA + height;
(图3)
所以在错开的方法上,我使用了三个canvas,第一个canvas正式绘制,第二个将文字数组倒过来绘制,将前两个绘制在第三个canvas上,这样就错开了。
3.每行文字长度不等引起的水平间距问题
如下图,a、b是两段文字,较长的b会导致水平方向间距变大,如果直接使用做背景图,那么在背景repeat时候,将存在水平方向长短不一情况,看起来很难受。
(图4)
对于这个问题,我的解决方法是,将a、b两段文字水平方向上重复绘制多次,就变成绘制a、b、a、b、a、b,在足够多的次数后,看到间距就正常。
4.第一行文字x不是从0开始
其实在画布旋转后,在视窗里看到的第一行就不是从0开始(虽然绘制是0),从图2就可以看到,还有一段距离。
(图5)
例如将第一行移到视窗p点,那么就要做tx、ty的修正,伪代码:
tx = height * sinA * cosA;
ty = height * sinA * sinA;
PS:这个地方如果有人看我代码,就会发现ty乘多一个sinA,位移才正确,这一点我也想不懂,希望有人知道告诉我。
代码
我将代码放到GitHub上,有啥建议请提。
代码地址:
最后的效果,其实就是图1。
总结
这是个简单的插件,代码不多,其实本身也不需要jquery,只是习惯性这么实现。这里其实有个重点,就是视区和画布,我在svg文章里面有总结过,可以看看,另外我遇到的几个难点的解决办法,希望对大家有所发现。
以上是jquery页面水印插件,支持多行水印、行错开的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

想知道美图秀秀怎么加水印吗?美图秀秀是一款非常好用的修图p图软件,提供抠图放在另一个图、改图片大小kb、去水印、换证件照底色、全屏加时间日期地点水印等功能,可以帮助用户快速的完成图片的制作。有用户制作了自己的图片不想被别人盗图想要铺满自己的水印,但不知道如何操作?小编现在为大家分享美图秀秀添加水印方法!喜欢就快来下载吧!一、美图秀秀怎么加水印呢?分享美图秀秀添加水印方法!1.打开在本站下载的美图秀秀2023版。美图秀秀2023版类别:拍摄美化下载美图秀秀2023版是一款功能丰富的图片美化和编辑软

去除水印是软件扫描全能王中的一个好用的工具,有些用户还不太清楚扫描全能王去除水印怎么去除,可以在保存界面点击编辑PDF中的去除水印即可闭,接下来就是小编为用户带来的去除水印方法的介绍,感兴趣的用户快来一起看看吧!扫描全能王使用教程扫描全能王去除水印怎么去除答:可以在保存界面点击编辑PDF中的去除水印详情介绍:1、进入软件,点击【相机】图标。2、拍摄扫描需要去水印的文件。3、点击【→】进入下一步。4、完成编辑后,点击【✓】。5、点击其中的【编辑PDF】。6、选择下方的【去除水印】即可。

为了让拍摄出的照片更具个性和独特性,小米14提供了拍照水印设置。通过设置拍照水印,用户可以在拍摄的照片上添加图案、文字和标志,使得每一张照片都能更好地记录下珍贵的时刻和回忆。接下来,我们将介绍如何在小米14中设置拍照水印,让您的照片更加个性化和生动。小米14怎么设置拍照水印?1、首先点击“相机”。2、然后点击“设置”。3、接着找到水印,随后就可以开始拍摄了。

win1124H2如何消除右下角的评估副本文字?我们在使用系统的时候有时候桌面会在右下角的屏幕显示一个透明的水印,那么这个透明的水印要怎么去掉?用户们可以直接的利用第三方软件来进行操作就可以了。下面就让本站来为用户们来仔细的介绍一下消除win1124H2评估副本水印的方法吧。消除win1124H2评估副本水印的方法下载UniversalWatermarkDisabler工具,运行后会显示出当前系统的版本以及水印状态,「Status」中显示「Readyforinstallation」即已经可以去除

1、我们用WPS打开一篇文档,里面带有水印,看起来比较乱,怎么去掉呢?往下看。2、菜单栏找到插入选项卡,选择此选项卡底下的页眉和页脚图标,用鼠标左键在上面点击一下。3、这时页面文字变成灰色的不可编辑状态,但是此时文字背面的水印就可以编辑了。4、点击水印,可以看到这是一张图片水印,因为在这张图片周围出现几个小方块,此时图片为可以编辑状态。5、用键盘delete键删除图片,可以看到水印不见了。6、页面双击鼠标,退出页眉页脚编辑模式,页面文字又变成正常色可以编辑状态,但此时页面上的水印已经不见了。7、

在WPS文档中加水印可以保护著作权,以防自己的文件被别人盗用,而且现在到处都在宣传保密,WPS文档加水印还可以找到文档打印的来源,能够顺利的追溯到源头。不管是为了保护著作权还是为了保密,工作中的WPS文档加水印不管对自己还是别人都是有好处的。水印的加载有很多种方式,下面我们就分享一个简单的WPS文档怎么加水印的方法。1.打开WPS文档,点击工具栏中的【插入】栏的【水印】。2.点击【水印】旁边的倒立小三角形,里面有一些有水印模板。3.自定义一个水印,点击【+】。4.弹出一个对话框,在【内容】里面输

Chrome的插件扩展程序安装目录是什么?正常情况下,Chrome插件扩展程序的默认安装目录如下:1、windowsxp中chrome插件默认安装目录位置:C:\DocumentsandSettings\用户名\LocalSettings\ApplicationData\Google\Chrome\UserData\Default\Extensions2、windows7中chrome插件默认安装目录位置:C:\Users\用户名\AppData\Local\Google\Chrome\User

一、激萌拍照怎么去水印呢?faceu激萌拍照水印关闭教程!1.打开手机里的Faceu激萌APP,点击拍摄图标。2.进入拍摄界面后,选择三点图标。3.然后在弹出的面板中,点击相机设置。4.跳转页面后,选择水印设置。5.最后在水印设置页面,点击关闭水印即可。
