色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - js drawImage如何產(chǎn)生圖片撕裂閃爍,如下代碼的邏輯是如何實(shí)現(xiàn)的

瀏覽:104日期:2022-11-30 11:02:28

問題描述

可直接打開鏈接看效果:http://evilzone.org/。以下是它的代碼

<!DOCTYPE html><!-- saved from url=(0020)http://evilzone.org/ --><html><!-- Hello :) --><head><meta http-equiv='Content-Type' content='text/html; charset=UTF-8'><title>Evilzone - Hacking and Security Network</title><style> body {height: 100%;width: 100%;margin: 0;padding: 0;background-color: #191919;font-family: Arial, Helvetica, sans-serif; } .box {color: #c8c8c8;padding: 20px;margin: 20px;border: solid #404040 1px;outline: solid #101010 1px;background-color: #252525;width: 610px;margin-left: auto;margin-right: auto;margin-top: 50px; } .leCanvas {border: solid #404040 1px; outline: solid #101010 1px; background-color: #202020;padding: 10px; }</style> </head> <body><p class='box'> <canvas height='128'></canvas></p><script> var canvas = document.getElementById(’canvas’) , context = canvas.getContext(’2d’) , img = new Image() , w , h , offset , glitchInterval; img.src = ’logo.png’; img.onload = function() { init();window.onresize = init; }; var init = function() {clearInterval(glitchInterval);//清除定時(shí)器canvas.width = w = img.width;//將圖片的寬度賦值給w,并將畫布的寬度設(shè)為圖片的寬度offset = w * .1;//設(shè)置偏移量為w*0.1canvas.height = h = img.height;//將畫布的高度設(shè)為圖片的高度glitchInterval = setInterval(function() { clear();//每一幀清除前一幀 context.drawImage(img, 0, 0, img.width, img.height);//將圖片全部剪切粘在畫布上 setTimeout(glitchImg, randInt(250, 1000));//隨機(jī)延時(shí)執(zhí)行g(shù)litchImg}, 500); }; var clear = function() {context.clearRect(0, 0, canvas.width, canvas.height); }; var glitchImg = function() {for (var i = 0; i < randInt(1, 13); i++) { var x = Math.random() * w; var y = Math.random() * h; var spliceWidth = w - x;// var spliceHeight = randInt(5, h / 3); context.drawImage(canvas, 0, y, spliceWidth, spliceHeight, x, y, spliceWidth, spliceHeight); //將從(0,y)處剪切的圖像附在畫布的(x,y)中 context.drawImage(canvas, spliceWidth, y, x, spliceHeight, 0, y, x, spliceHeight); //將從(spliceWidth,y)處剪切的圖像附在畫布(0,y)處。伸縮寬度在(0,w),伸縮高度在(5,h/3)} }; var randInt = function(a, b) {return ~~(Math.random() * (b - a) + a); };</script> </body></html>![圖片描述][1]

問題解答

回答1:

每隔一定的時(shí)間將自身canvas繪制的圖截取一部分,并重新繪制到canvas中。。這就是基本流程,唯一需要考慮的是動(dòng)畫時(shí)間和距離的把握。。。

標(biāo)簽: JavaScript
主站蜘蛛池模板: 国产精品毛片在线更新 | 国产日韩一区二区三区在线播放 | 亚洲综合精品一区二区三区中文 | 亚洲理论视频 | 国产精品九九视频 | 成人国产精品一级毛片了 | 亚洲一区二区三区免费观看 | 99视频福利 | 99久久精品国产自免费 | 深夜做爰性大片很黄很色视频 | 最近免费手机中文字幕3 | 中国黄色一级大片 | 欧美日韩视频在线第一区二区三区 | 亚洲国产成人久久综合一区77 | 韩国一级性生活片 | 久久se精品一区精品二区 | 亚洲精品久久久成人 | 91精品最新国内在线播放 | 日韩亚洲精品不卡在线 | 美女张开腿让男人捅爽 | 欧美一级日本一级韩国一级 | 国内亚州视频在线观看 | 亚洲三级中文字幕 | 国产精品一区二区三区免费 | 一级风流片a级国产 | 日韩一区二区三区四区 | 亚洲精品国产美女在线观看 | 国产女乱淫真高清免费视频 | 亚洲欧美日韩综合在线一区二区三区 | 日本成人不卡视频 | 在线亚洲精品 | 亚洲伊人色综合网站小说 | fc2成年手机免费共享视频 | 91精品欧美一区二区综合在线 | 日本久久久久久久 | 黄色在线视频网 | 国产a∨一区二区三区香蕉小说 | 乱系列中文字幕在线视频 | 久久国产精品99久久久久久牛牛 | 国产一区精品在线观看 | 久久免费精品国产72精品剧情 |