当前位置: 首页 > news >正文

免费网站制作 优帮云珠海响应式网站建设公司

免费网站制作 优帮云,珠海响应式网站建设公司,做棋牌网站,餐饮网站建设背景1.需求背景 其实腾讯云点播的api也支持视频水印#xff0c;但是只有单个水印#xff0c;大概效果是这样子的#xff0c;不满足我们的需求#xff0c;我们的需求是需要视频中都是水印。 腾讯云点播水印 项目需求的水印#xff08;主要是防录屏,最后的实现效果是这样…1.需求背景 其实腾讯云点播的api也支持视频水印但是只有单个水印大概效果是这样子的不满足我们的需求我们的需求是需要视频中都是水印。 腾讯云点播水印 项目需求的水印主要是防录屏,最后的实现效果是这样 2.实现 创建 warterMark.js warterMark.js里面的代码 import Vue from vueVue.directive(watermark, {bind: function(el, binding){// 水印文字父元素画布宽度画布高度字体文字颜色画布横坐标function addWaterMarker(str, parentNode, width, height, font, textColor, fillTextX 10){ // 检查父元素是否包含子元素const elementContains (parent, child) parent ! child parent.contains(child);const flag elementContains(parentNode, document.querySelector(canvas));// 防止重复创建if (!flag) {let can document.createElement(canvas);parentNode.appendChild(can);can.width width || 200;can.height height || 140;can.style.display none;let cans can.getContext(2d);cans.rotate(-20 * Math.PI / 180);cans.font font || 13px Microsoft Yahei;cans.fillStyle textColor || #DDDDDD;cans.textAlign left;cans.textBaseline Middle;cans.fillText(str, fillTextX, can.height);// 设置背景图整个项目中都添加水印建议使用此方法// parentNode.style.backgroundImage url( can.toDataURL(image/png) );// 创建div 定位覆盖某个元素如图片添加水印建议使用此方法let div document.createElement(div);div.id str;div.style.pointerEvents none;div.style.top 0;div.style.left 0;div.style.position absolute;div.style.zIndex 100000;div.style.width 100%;div.style.height 100%;div.style.background url( can.toDataURL(image/png) );parentNode.appendChild(div);}}if (binding.value.text) {addWaterMarker(binding.value.text, el, binding.value.width, binding.value.height, binding.value.font, binding.value.textColor, binding.value.fillTextX )}} })main.js 引入warterMark.js 或者在想要添加的某个页面引入 import /utils/warterMark.js4.页面结构注意水印一定要跟video同级不要直接加到video上面去会没有用 5.加了水印后效果如下图但是会出现一个问题就是视频在点击全屏时水印会消失 全屏时水印消失 6.处理全屏视频时水印消失的问题 这段代码的意思主要是监听视频全屏时就去拿到视频标签元素 和 水印标签元素然后把 水印标签元素append到视频标签元素里面去就可以显示水印了。因为我这里用的是腾讯云sdk大家可以根据自己用的视频插件来写基本逻辑就在这里了 原因就是在视频全屏播放时会把其他的元素都隐藏掉css默认。所以很多做视频开发的开发者他们的全屏其实不是真正的全屏而是套了一个壳把外面的壳放大了。 // 用户全屏添加水印this.player.on(fullscreenchange, () {const video_div document.getElementsByClassName(course_video)[0]video_div.appendChild(document.getElementsByClassName(my_course_video_box)[0])})3.补充(水印指令的用法) 如果只想作用于一个盒子时出现了这个情况那么你需要给水印盒子添加一个position: relative;属性 盒子css添加position: relative;属性 .fanwai{width: 800px;height: 150px;border: 1px solid rebeccapurple;margin-top: 20px;position: relative;}效果 4.缺点 该水印指令生成的水印 可以通过删除dom元素(如果你的水印是在一个单独的dom的话如果你是作用在body上就不会因为你把body删了里面的内容也没了)就把水印删了只能说防普通用户防君子。可以找下其他的水印插件看看。 但是视频全屏时添加水印的逻辑是不变的。 5.demo地址 https://github.com/rui-rui-an/watermark 如果demo运行起来视频不可用可能是云点播的license过期了大家可以自己去申请一个填到项目里。 云点播地址https://cloud.tencent.com/document/product/266/58772 填到这里就可以了 6.参考链接 vue 指令实现水印效果掘金https://juejin.cn/post/6966985241286148126
http://www.dnsts.com.cn/news/195768.html

相关文章:

  • 2013电子商务网站建设考试试卷常州做网上废品收购网站
  • 铜山网站开发sem竞价课程
  • 社交app网站开发网络传媒网站
  • 查询个人房产信息网站营销型网站建设报价
  • 青岛网站制作网站搜狗搜索排名优化
  • 今天的新闻大事10条江门关键词优化效果
  • 西安制作公司网站的公司清理wordpress
  • 河南省建设厅执业资格注册中心网站动漫制作专业累吗
  • 网站建设加入购买按钮1997年做网站是什么语言
  • 网站建站公司有必要做吗电脑软件推广
  • 织梦做的网站首页被篡改本地wordpress 上传到服务器
  • 网站建设价类型苏州高端网站建设设计公司
  • 用wordpress做微站装饰网站开发背景
  • 陇西 网站建设大型游戏网页游戏大全
  • 网站添加关键词会不会手机登陆网页版微信
  • 做网站的公司哪好国内可以上的网站
  • html5网站后台怎么做国外代理ip地址和端口
  • 网站建好了seo怎么做图书馆网站建设公司
  • 网页前端做购物网站的实训报告wordpress 5.02支持php
  • 网站建设一般考虑哪些因素wordpress主页与文章页
  • 天津网站设计服务公司杭州津伟网络科技有限公司
  • 百度会收录双域名的网站么龙华网站建设的软件
  • 江苏省网站建设哪家好公众号中微网站开发
  • 做花茶的网站宁波建设网谢家限价期房2004
  • 设计网站属于什么专业什么网站可以做模型挣钱
  • 书画展示网站模板网站seo优化包括哪些方面
  • 网站建设的市场定位分析辽宁省建设厅网站升级何时结束
  • html网站开发软件做企业网站支付功能
  • 高校门户网站建设网站建设通知书
  • 建设网站选多大的空间合适长春市招标网