<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<style>
.str {
font: normal bold 5px Arial
/*font-size: 5px*/
color: rgb(224, 226, 226,0.4)
position: absolute
padding-left: 16px
padding-top: 53px
display: none
}
.str2 {
font: normal bold 5px Arial
/* font-size: 5px*/
color: rgb(224, 226, 226,0.4)
position: absolute
padding-left: 66px
padding-top: 130px
display: none
}
</style>
</head>
<body>
<div>HOMEANGEL</div>
<div>HOMEANGEL</div>
<img src="https://dss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3252521864,872614242&fm=26&gp=0.jpg" style="width:100pxheight:100px" />
<div id="picture" style="width:100%margin-left: 60px">
</div>
<script>
$(function () {
var img = ["https://dss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3252521864,872614242&fm=26&gp=0.jpg"]
GetCanvas(img)
})
function AddCanvas(src, ById) {
var img = new Image()
img.src = src
img.onload = function () {
imgW = img.width
imgH = img.height
//准备canvas环境
var canvas = document.getElementById(ById)
canvas.width = img.width
canvas.height = img.height
var ctx = canvas.getContext("2d")
// 绘制图片
ctx.drawImage(img, 0, 0, img.width, img.height)
// 绘制水印
ctx.font = "20px bold Arial"
ctx.fillStyle = "rgb(224, 226, 226,0.6)"//这里是颜色
ctx.fillText("watermark watermark", 20, 60)
ctx.fillText("watermark watermark", 120, 160)
ctx.fillText("watermark watermark", 220, 220)
//ctx.fillText("HOMEANGEL", 90, 130)
canvas.style.width = "100px"
canvas.style.height = "100px"
}
}
function GetCanvas(Strhtml) {
if (Strhtml.length >0 &&Strhtml != "") {
var html = ""
for (var i = 0i <Strhtml.lengthi++) {
var str = "sample" + (i + 1)
html += ' <canvas id=' + str + ' name="test" src=' + Strhtml[i] + ' "></canvas>'
}
$("#picture").html(html)//这里图片添加到html,然后for,添加水印
}
for (var i = 0i <Strimg.lengthi++) {
var str = "sample" + (i + 1)
var src = Strhtml[i]
AddCanvas(src, str)//id没传递
}
}
</script>
</body>
Canvas简介及实践:
canvas是HTML5新增的元素,主要作用是支持用JS画图。
一、创建Canvas元素
二、通过JavaScript来绘制
canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成。
•1:JavaScript使用id来寻找canvas元素。
•2:创建context对象。getContext(“2d”)对象是内建的HTML5对象。
3:绘制一个红色的矩形。fillStyle方法将其染成红色,fillRect方法规定了形状、位置和尺寸
三、实例-图像 把一幅图像放置到画布上:
四、水印生成主流程
1、建立一个画布:
2、生成水印字符串:
3、CanvasElement.toDataURL() 方法返回一个包含图片展示的data URLs,包含了Base64过的图像信息。说明:Data URLs, URLs prefixed with the data: scheme, allow content creators to embed small files inline in documents. 例如:“data:image/pngbase64,R0lGODdhMAAwAPAAAAAAAP”
4、平铺在background上
答: 如果你的水印是动态的,比如需要用到在登陆之后才能获取到的信息,可以在登陆接口成功的回调之后,调用一次该水印方法,然后将这些信息保存到localStorage中去,在main.js中获取,再调用一次该水印方法。这样,就可以实现动态的水印,且刷新不会消失。
参考: vue项目中添加水印
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)