广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >如何使用html5 canvas实现图片玻璃碎片特效
  • 626
分享到

如何使用html5 canvas实现图片玻璃碎片特效

2024-04-02 19:04:59 626人浏览 安东尼
摘要

小编给大家分享一下如何使用HTML5 canvas实现图片玻璃碎片特效,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 

小编给大家分享一下如何使用HTML5 canvas实现图片玻璃碎片特效,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

      html代码

    <imgsrc=“city_copy.jpg”id=“src_img”class=“hidden”><divid=“container”style=“-WEBkit-perspective:500px;”><div><脚本src=“delaunay.js“></script><scriptsrc=”TweenMax.min.js“></script>

    js代码:

//画布设置varimageWidth=768,imageHeight=485;var顶点=[],索引,方格=[];varimage,片段=[],容器=document.getElementById('container');window.onload=function(){image=document.getElementById('src_img');triangulate();makeBoxes();makeFragments();};函数triangulate(){varx,y,dx=imageWidth/8,dy=imageHeight/8,offset=0.5;对于(vari=0;i<=imageWidth;i+=dx){for(varj=0;j<=imageHeight;j+=dy){
    如果(i&&(i!==imageWidth))x=i+randomRange(-dx*offset,dx*offset);否则x=i;if(j&&(j!==imageHeight))y=j+randomRange(-dy*偏移量,dy*偏移量);否则y=j;vertices.push([x,y]);}}指数=Delaunay.triangulate(顶点);}函数makeBoxes(){varp0,p1,p2,xMin,xMax,yMin,yMax;for(vari=0;i<index.length;i+=3){p0=顶点[indices[i+0]];p1=顶点[索引[i+1]];p2=顶点[索引[i+2]];xMin=Math.min(p0[0],p1[0],p2[0]);xMax=Math.max(p0[0],p1[0],p2[0]);yMin=Math.min(p0[1],p1[1],p2[1]);
    yMax=Math.max(p0[1],p1[1],p2[1]);box.push({x:xMin,y:yMin,w:xMax-xMin,h:yMax-yMin});}}函数makeFragments(){VARP0,P1,P2,盒,片段;TweenMax.set(container,{Perspective:500});vartl0=newTimelineMax({repeat:-1});for(vari=0;i<index.length;i+=3){p0=顶点[indices[i+0]];p1=顶点[索引[i+1]];p2=顶点[索引[i+2]];box=box[i/3];片段=新片段(p0,p1,p2,box);varrx=randomRange(30,60)*((i%2)?1:-1);varry=randomRange(30,60)*((i%2)?-1:1);
    vartl1=newTimelineMax();TweenMax.set(fragment.canvas,{y:box.y-1000});tl1.to(fragment.canvas,randomRange(0.9,1.1),{y:box.y,ease:Back.easeOut});tl1.to(fragment.canvas,0.5,{z:-100,easy:Cubic.easeIn,delay:0.4});tl1.to(fragment.canvas,randomRange(1,1.2),{rotationX:rx,rotationY:ry,z:250,alpha:0,easy:Cubic.easeOut});tl0.insert(tl1);fragment.push(fragment);container.appendChild(fragment.canvas);}}函数randomRange(min,max){
    返回min+(max-min)*Math.random();}片段=函数(v0,v1,v2,框){this.v0=v0;this.v1=v1;this.v2=v2;this.box=盒子;this.canvas=document.createElement('canvas');this.canvas.width=this.box.w;this.canvas.height=this.box.h;this.canvas.style.width=this.box.w+'px';this.canvas.style.height=this.box.h+'px';this.ctx=this.canvas.getContext('2d');TweenMax.set(this.canvas,{x:this.box.x,y:this.box.y});this.ctx.translate(-this.box.x,-this.box.y);this.ctx.beginPath();this.ctx.moveTo(this.v0[0],this.v0[1]);
    this.ctx.lineTo(this.v1[0],this.v1[1]);this.ctx.lineTo(this.v2[0],this.v2[1]);this.ctx.closePath();this.ctx.clip();this.ctx.drawImage(image,0,0);};//@sourceURL=pen.js

以上是“如何使用html5 canvas实现图片玻璃碎片特效”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网node.js频道!

--结束END--

本文标题: 如何使用html5 canvas实现图片玻璃碎片特效

本文链接: https://www.lsjlt.com/news/91686.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用html5 canvas实现图片玻璃碎片特效
    小编给大家分享一下如何使用html5 canvas实现图片玻璃碎片特效,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2022-10-19
  • 怎么用html5 canvas实现图片玻璃碎片特效
    本篇内容主要讲解“怎么用html5 canvas实现图片玻璃碎片特效”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用html5 canvas实现图片玻璃碎片...
    99+
    2022-10-19
  • 利用Flutter实现背景图片毛玻璃效果实例
    目录前言使用 canvas 绘制图片更改绘制图片的绘制范围毛玻璃效果实现总结前言 继续我们绘图相关篇章,这次我们来看看如何使用 CustomPaint 实现毛玻璃背景图效果。毛玻璃背...
    99+
    2022-11-13
  • 如何使用CSS实现毛玻璃特效
    这篇文章主要介绍“如何使用CSS实现毛玻璃特效”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用CSS实现毛玻璃特效”文章能帮助大家解决问题。一、backdrop-filter 是金手指吗?毛玻...
    99+
    2023-06-29
  • html5如何实现碎片式图片切换
    这篇文章主要为大家展示了“html5如何实现碎片式图片切换”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html5如何实现碎片式图片切换”这篇文章吧。准备工作1...
    99+
    2022-10-19
  • JavaScript利用canvas实现炫酷的碎片切图效果
    目录前言需求分析实现过程坐标系切割绘制切割&渲染动画前言 今天分享一个炫酷的碎片式切图效果,这个其实在自己的之前的博客上有实现过,本人觉得这个效果还是挺炫酷的,这次还是用我们...
    99+
    2022-11-13
    JavaScript canvas碎片切图效果 JavaScript canvas 碎片切图 JavaScript canvas 切图
  • HTML5如何使用Canvas实现放入图片和保存为图片功能
    这篇文章给大家分享的是有关HTML5如何使用Canvas实现放入图片和保存为图片功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用JavaScript将图片拷贝进画布要想将图...
    99+
    2022-10-19
  • 如何使用HTML5 Canvas实现图片缩放、颜色渐变效果
    这篇文章主要为大家展示了“如何使用HTML5 Canvas实现图片缩放、颜色渐变效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用HTML5 Canva...
    99+
    2022-10-19
  • 如何使用css3实现图片翻牌特效
    这篇文章主要介绍了如何使用css3实现图片翻牌特效,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。代码如下:<!doctype html...
    99+
    2022-10-19
  • 如何使用纯CSS实现底层毛玻璃效果
    这篇“如何使用纯CSS实现底层毛玻璃效果”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“如何使用纯CSS实现底层毛玻璃效果”,小编整理了以下知识点,请大家跟着小...
    99+
    2022-10-19
  • HTML5 Canvas如何实现图片缩放比例
    小编给大家分享一下HTML5 Canvas如何实现图片缩放比例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! drawImage方法的又一变种是增加了两个用于控制图像在canvas中缩放...
    99+
    2022-10-19
  • js如何实现图片轮播特效
    这篇文章将为大家详细讲解有关js如何实现图片轮播特效,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先看一眼效果图:代码:<html> <head>...
    99+
    2022-10-19
  • Android 图片特效如何实现及总结
    Android 图形特效              最近...
    99+
    2022-06-06
    图片 Android
  • 怎么在HTML5中使用Canvas实现一个破碎重组视频特效
    本篇文章为大家展示了怎么在HTML5中使用Canvas实现一个破碎重组视频特效,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。HTML代码<video id="sourcev...
    99+
    2023-06-09
  • jQuery如何实现点击替换图片特效
    这篇文章将为大家详细讲解有关jQuery如何实现点击替换图片特效,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   1,起因   最近在工作中要实现自定义式的radi...
    99+
    2022-10-19
  • 使用Canvas怎么实现一个图片分割效果
    本篇文章为大家展示了使用Canvas怎么实现一个图片分割效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。首先我们要初始化一些变量,比如图片的宽高,矩形的个数,剪切的尺寸等,然后再计算每个矩形的坐标...
    99+
    2023-06-09
  • 基于html5如何实现的图片墙效果
    小编给大家分享一下基于html5如何实现的图片墙效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 代码如下: <!DOCTYPE html> <html ng-a...
    99+
    2022-10-19
  • 如何在Android中使用RenderScript实现一个毛玻璃模糊效果
    今天就跟大家聊聊有关如何在Android中使用RenderScript实现一个毛玻璃模糊效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。RenderScript 介绍在开始之前,先...
    99+
    2023-05-31
    android renderscript ers
  • 使用canvas怎么实现一个图片马赛克效果
    本篇文章为大家展示了使用canvas怎么实现一个图片马赛克效果,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 原生canvas实现用到的API1) getContext(contextID) -...
    99+
    2023-06-09
  • 使用微信小程序实现图片轮播特效
    使用微信小程序实现图片轮播特效引言:随着智能手机的普及,微信成为了我们每天使用最频繁的app之一。微信小程序作为微信生态系统中的一部分,提供了一种快速开发和发布应用程序的方式。图片轮播特效不仅可以为应用程序增添动感和美观,还可以提升用户体验...
    99+
    2023-11-21
    图片轮播 微信小程序 特效
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作