一、思路
为切片图层添加水印方法目前知道的有两种:
一种是类似超图切片服务的方式,从服务返回来的切片本身就带上了水印,如下图。但是这种方法对于普通开发来说不太现实。
另一种是等切片传回前端,在前端对切片进行二次处理,本文主要讲述如何对传回的切片进行处理。
二、流程
首先准备一张用于做水印的透明图片,如下图,然后将图片转换为base码,方便在代码中调用。
核心方法
通过监听切片的加载回调方法
-
获取加载完的切片,然后根据切片的尺寸,用canvas创建一个画布;
-
将切片的src对应的图片绘制到画布上,这样就获得了一个和src图片内容一样的画布;
-
将预先准备好的水印图片通过平铺的方法叠加到画布上,然后将画布输出为图片,这样就可以获取到叠加水印的图片;
- 最后用处理完的输出的图片替换掉原来的切片图片,就可以得到添加水印的效果;
var img = new Image();
img.src =