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

鹤壁市网站建设_网站建设公司_跨域_seo优化

dw做网站怎么换图片,合肥建设发展局网站,学seo网络推广,wordpress文本编辑插件原文地址 主要内容 上篇文章学习了canvas像素点的获取 —— 传送门#xff0c; 今天学一下canvas像素点操作。 一个方法#xff1a;putImageData putImageData 用法#xff1a; context.putImageData(imgData, x, y, dX, dY, dWidth, dHeight);参数描述imgData规定要放… 原文地址 主要内容 上篇文章学习了canvas像素点的获取 —— 传送门 今天学一下canvas像素点操作。 一个方法putImageData putImageData 用法 context.putImageData(imgData, x, y, dX, dY, dWidth, dHeight);参数描述imgData规定要放回画布的 ImageData 对象。xImageData 对象左上角的 x 坐标以像素计。yImageData 对象左上角的 y 坐标以像素计。dX可选。水平值x以像素计在画布上放置图像的位置。dY可选。水平值y以像素计在画布上放置图像的位置。dWidth可选。在画布上绘制图像所使用的宽度。dHeight可选。在画布上绘制图像所使用的高度。 下面的栗子简单实现了几个简单的滤镜效果具体算法参考的这里学过《数字图像处理》的同学应该对此理解更深刻。 demo 该栗子纯属为了演示功能而做如果只强调效果而不在乎数据的话用CSS3的filter属性便能高效又轻松地搞定。 部分代码 import imgUrl from ./component/sample.jpg;export default {data () {return {imgUrl: imgUrl}},methods: {onOperate1 () {this.ctx.putImageData(this.onCompute1(), 0, 0);},onOperate2 () {this.ctx.putImageData(this.onCompute2(), 0, 0);},...onCancel () {this.reload();},onCompute1 () {let data this.frameData.data;for (let i 0; i this.imgDataLength; i 4) {let r data[i 0],g data[i 1],b data[i 2];data[i 0] 255 - r;data[i 1] 255 - g;data[i 2] 255 - b;}return this.frameData;},onCompute2 () {let data this.frameData.data;for (let i 0; i this.imgDataLength; i 4) {data[i] Math.abs(data[i 1] - data[i 2] data[i 1] data[i]) * data[i] / 256; data[i 1] Math.abs(data[i 2] - data[i 1] data[i 2] data[i]) * data[i] / 256; data[i 2] Math.abs(data[i 2] - data[i 1] data[i 2] data[i]) * data[i 1] / 256;}return this.frameData;},...},mounted () {this.canvas this.$refs[canvas];this.ctx this.canvas.getContext(2d);this.reload();} }上周跟同学去了一趟溧阳天目湖的南山竹海在景区被忽悠拍了一张照片就是这张 —— 然后被朋友圈吐槽抠图。其实当时就是站在一块绿幕前拍的? 。 PS中魔法棒工具可以把图片中一定容差下的相近像素都选中、清空轻松做到一键“抠图”前提是主体一定要与背景有大的差异即像素值差值越大抠图效果越好。 Canvas同样可以做到并且可以处理视频帧其中的原理是一样的 —— 将每个视频帧中绿幕的像素块透明度置0即可。像这样 —— demo 部分代码 import videoUrl from ./component/video.ogv; import imgUrl from ./component/sample.jpg;const TOLERANCE 5; export default {data () {return {videoUrl: videoUrl,imgUrl: imgUrl}},methods: {draw () {if (this.video.paused || this.video.ended) {return;}this.ctx.drawImage(this.video, 0, 0, this.width, this.height);this.ctx.putImageData(this.cutOut(), 0, 0);},cutOut () {let frameData this.ctx.getImageData(0, 0, this.width, this.height),len frameData.data.length / 4;for (let i 0; i len; i ) {let r frameData.data[i * 4 0],g frameData.data[i * 4 1],b frameData.data[i * 4 2];if (r - 100 TOLERANCE g - 100 TOLERANCE b - 43 TOLERANCE) {frameData.data[i * 4 3] 0;}}return frameData;}},mounted () {this.video this.$refs[video];this.canvas this.$refs[canvas];this.ctx this.canvas.getContext(2d);this.timer null;this.video.addEventListener(play, () {this.width this.video.videoWidth;this.height this.video.videoHeight;this.timer clearInterval(this.timer);this.timer setInterval(() {this.draw();}, 50);}, false);} }参考资料 Manipulating video using canvasPixel manipulation with canvasCanvas and images and pixelshttps://www.jianshu.com/p/90f6aedb33db
http://www.lebaoying.cn/news/10111.html

相关文章:

  • 关于网站建设的投标书专业北京网站建设公司
  • 北京网站开发哪家好做网站切片
  • 常州知名网站建设公司怎么做国际货运代理外贸网站
  • 怎么做好网站推广惠州自动seo
  • 中展建设股份有限公司网站网站做了泛解析 为什么影响seo
  • 在网站上有中英切换怎么做wordpress英文仿站
  • 网站做交叉连接网络营销的平台有哪些
  • 免费网站托管wordpress lovephoto
  • 自己做营销型网站有没有专门做尾料回收的网站
  • 常州高端网站建设广州做网站建设的公司排名
  • 双语网站怎么做宁波营销网站建设
  • 网站开发设计与实现怎么样做网站才能适应手机屏幕
  • 网站建设要具备那些深圳地产网站制作公司
  • 免费推广网站注册入口杨凌做网站的
  • 新加坡网站大全上海城隍庙简介
  • 大公司网站开发如何利用wordpress编辑网站
  • 公司网站建设济南兴田德润地址电话做网站的推广
  • 高水平网站运营托管wordpress实现聊天功能
  • 网站建设公司哪家最好网站开发文档上传服务器
  • 网站建设iis配置中国工厂网网址
  • 上海人才网站建设中小企业网站建设策划
  • 做网站是用源码还是模版江山网站设计
  • 江西建设安全网站个人网站建设作用
  • 为中国移动做网站的公司叫什么seo建站营销
  • 免费建网站赚钱网站全局变量
  • 中国职业培训在线官方网站百度商城官网首页
  • 高安网站建设公司wordpress wow.js
  • 旅游网站建设ppt网站素材模板
  • 培训制作网站源码聊城做网站的公司流程
  • 基于php mysql的网站开发苏州网站推广服务