短视频平台开发,在上传图片时,自动添加平台的水印

短视频平台开发,在上传图片时,自动添加平台的水印实现的相关代码

1、普通使用方式:

 

1
<br>$(document).ready(function() {<br>        var watermark_txt = "测试效果" + getDate();<br>        watermark({"watermarl_element":"watermark-wrapper", "watermark_txt":watermark_txt});  <br>});

注:watermark-wrapper是div的id名称。 

 

2、如果项目中有ajax请求,等待所有ajax请求结束后再去加载,这样可以避免div存在滚动条时水印显示不全 

 

1
<br> $(document).ready(function() {<br>        var watermark_txt = "测试效果" + getDate();<br>        $.when($.ajax(), $.ajax()).then(function(){<br>            watermark({"watermarl_element":"watermark-wrapper", "watermark_txt":watermark_txt});<br>        });<br>    });

 

3、代码

 

1
<!DOCTYPE html><br><html><br><head><br>    <meta charset="UTF-8"><br>    <title>页面添加水印</title><br>    <script src="js/jquery.js"></script><br>    <style><br>        .watermark-wrapper{<br>            height: 1000px;<br>        }<br>    </style><br></head><br><body><br><div id="watermark-wrapper"><br>    <br></div><br> <br></body><br><script><br> <br>    $(document).ready(function() {<br>       var watermark_txt = "测试效果" + getDate();<br>       watermark({"watermarl_element":"watermark-wrapper", "watermark_txt":watermark_txt});<br>    });<br> <br>    function watermark(settings) {<br>        //默认设置<br>        var defaultSettings={<br>            watermarl_element:"body",<br>            watermark_txt:"",<br>            watermark_x:10,//水印起始位置x轴坐标<br>            watermark_y:10,//水印起始位置Y轴坐标<br>            watermark_rows:2000,//水印行数<br>            watermark_cols:2000,//水印列数<br>            watermark_x_space:50,//水印x轴间隔<br>            watermark_y_space:50,//水印y轴间隔<br>            watermark_color:'#d7d7d7',//水印字体颜色<br>            watermark_alpha:0.5,//水印透明度<br>            watermark_fontsize:'15px',//水印字体大小<br>            watermark_font:'微软雅黑',//水印字体<br>            watermark_width:500,//水印宽度<br>            watermark_height:50,//水印长度<br>            watermark_angle:15//水印倾斜度数<br>        };<br>        //采用配置项替换默认值,作用类似jquery.extend<br>        if(arguments.length===1&&typeof arguments[0] ==="object" ) {<br>            var src=arguments[0]||{};<br>            for(key in src) {<br>                if(src[key]&&defaultSettings[key]&&src[key]===defaultSettings[key]){<br>                    continue;<br>                } else if(src[key]){<br>                    defaultSettings[key]=src[key];<br>                }<br>            }<br>        }<br> <br>        var oTemp = document.createDocumentFragment();<br> <br>        var maskElement=document.getElementById(defaultSettings.watermarl_element) || document.body;<br>        //获取页面最大宽度<br>        var page_width = Math.max(maskElement.scrollWidth,maskElement.clientWidth);<br>        //获取页面最大高度<br>        var page_height = Math.max(maskElement.scrollHeight,maskElement.clientHeight,maskElement.scrollTop);<br>        //水印数量自适应元素区域尺寸<br>        defaultSettings.watermark_cols=Math.ceil(page_width/(defaultSettings.watermark_x_space+defaultSettings.watermark_width));<br>        defaultSettings.watermark_rows=Math.ceil(page_height/(defaultSettings.watermark_y_space+defaultSettings.watermark_height));<br>        var x;<br>        var y;<br>        for (var i = 0; i < defaultSettings.watermark_rows; i++) {<br>            y = defaultSettings.watermark_y + (defaultSettings.watermark_y_space + defaultSettings.watermark_height) * i;<br>            for (var j = 0; j < defaultSettings.watermark_cols; j++) {<br>                x = defaultSettings.watermark_x + (defaultSettings.watermark_width + defaultSettings.watermark_x_space) * j;<br>                var mask_div = document.createElement('div');<br>                mask_div.id = 'mask_div' + i + j;<br>                mask_div.className = 'mask_div';<br>                //mask_div.appendChild(document.createTextNode(defaultSettings.watermark_txt));<br>                mask_div.innerHTML=(defaultSettings.watermark_txt);<br>                //设置水印div倾斜显示<br>                mask_div.style.webkitTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)";<br>                mask_div.style.MozTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)";<br>                mask_div.style.msTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)";<br>                mask_div.style.OTransform = "rotate(-" + defaultSettings.watermark_angle + "deg)";<br>                mask_div.style.transform = "rotate(-" + defaultSettings.watermark_angle + "deg)";<br>                mask_div.style.visibility = "";<br>                mask_div.style.position = "absolute";<br>                mask_div.style.left = x + 'px';<br>                mask_div.style.top = y + 'px';<br>                mask_div.style.overflow = "hidden";<br>                mask_div.style.zIndex = "1029"; // 9999<br>                // pointer-events:none  让水印不遮挡页面的点击事件<br>                mask_div.style.pointerEvents='none';<br>                // 设置边框<br>                // mask_div.style.border="solid #eee 1px";<br>                // 兼容IE9以下的透明度设置<br>                mask_div.style.filter="alpha(opacity=50)";<br>                mask_div.style.opacity = defaultSettings.watermark_alpha;<br>                mask_div.style.fontSize = defaultSettings.watermark_fontsize;<br>                mask_div.style.fontFamily = defaultSettings.watermark_font;<br>                mask_div.style.color = defaultSettings.watermark_color;<br>                mask_div.style.textAlign = "center";<br>                mask_div.style.width = defaultSettings.watermark_width + 'px';<br>                mask_div.style.height = defaultSettings.watermark_height + 'px';<br>                mask_div.style.display = "block";<br>                oTemp.appendChild(mask_div);<br>            };<br>        };<br>        maskElement.appendChild(oTemp);<br>    }<br> <br>    function getDate() {<br>        var d = new Date();<br>        var year = d.getFullYear() >= 10 ? d.getFullYear() : ('0'+d.getFullYear());<br>        var month = d.getMonth()+1 >= 10 ? d.getMonth()+1 : ('0'+d.getMonth()+1);<br>        var day = d.getDate() >= 10 ? d.getDate() : ('0'+d.getDate());<br>        var hour = d.getHours() >= 10 ? d.getHours() : ('0'+d.getHours());<br>        var minute = d.getMinutes() >= 10 ? d.getMinutes() : ('0'+d.getMinutes());<br>        var second = d.getSeconds() >= 10 ? d.getSeconds() : ('0'+d.getSeconds());<br>        return year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second;<br>    }<br> <br></script><br></html>

 

以上就是短视频平台开发,在上传图片时,自动添加平台的水印实现的相关代码, 更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(131)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示