亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

canvas實現的紅包照片自適應效果

發布時間:2020-07-07 05:40:35 來源:網絡 閱讀:738 作者:素顏豬 欄目:開發技術

效果圖

canvas實現的紅包照片自適應效果

canvas實現的紅包照片自適應效果

canvas實現的紅包照片自適應效果

canvas實現的紅包照片自適應效果

html結構(index.html)

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>紅包照片</title>

<link rel="stylesheet" href="blur.css">

<script src="jquery-3.1.1.min.js" type="text/javascript" charset="utf-8"></script>

<meta name="viewport" 

 content=" height = device-height,

width = device-width,

initial-scale = 1.0,

minimum-scale = 1.0,

maximum-scale = 1.0,

user-scalable = no

" />

</head>

<body>

<div id="blur-div">

<img id="blur-image" src="20170122161717.png" alt="">

<canvas id="blur-canvas"></canvas>


<a href="javascript:reset()" class="button" id="reset-button">reset</a>

<a href="javascript:show()" class="button" id="show-button">show</a>

</div>

<script src="blur.js" type="text/javascript" charset="utf-8" ></script>

</body>

</html>

css樣式(blur.css)

*{

margin: 0;

padding: 0;

}



#blur-div{

margin: 0 auto;

position: relative;

overflow: hidden;

}



#blur-image{

display: block;

margin: 0 auto;


filter:blur(20px);

-webkit-filter:blur(20px);

-moz-filter:blur(20px);

-ms-filter:blur(20px);

-o-filter:blur(20px);


position: absolute;

left: 0px;

top: 0px;

z-index: 0;

}



#blur-canvas{

display: block;

margin: 0 auto;

position: absolute;

left: 0px;

top: 0px;

z-index: 100;

}


.button{

display: block;

position: absolute;

z-index: 200;

width: 100px;

height: 30px;


color: white;

text-decoration: none;

text-align: center;

line-height: 30px;


border-radius: 5px;

}


#reset-button{

left: 50px;

bottom: 20px;

background-color: #058;

}


#reset-button:hover{

background-color: #047;

}


#show-button{

right: 100px;

bottom: 20px;

background-color: #085;

}


#show-button:hover{

background-color: #074;

}

js腳本(blur.js)

var canvasWidth = window.innerWidth;

var canvasHeight = window.innerHeight;


var canvasObj = document.getElementById("blur-canvas");

var contextObj = canvasObj.getContext("2d");


canvasObj.width = canvasWidth;

canvasObj.height = canvasHeight;


var imageObj = new Image();

var radius = 50;

var clippingRegion = {x:-1,y:-1,r:radius}

var leftMargin = 0,topMargin = 0;


imageObj.src = "20170122161717.png";

imageObj.onload = function(e){


$("#blur-div").css("width",canvasWidth+"px");

$("#blur-div").css("height",canvasHeight+"px");


$("#blur-image").css("width",imageObj.width+"px");

$("#blur-image").css("height",imageObj.height+"px");


leftMargin = (imageObj.width - canvasObj.width) / 2;

topMargin = (imageObj.height - canvasObj.height) / 2;


$("#blur-image").css("top",String(-topMargin)+"px");

$("#blur-image").css("left",String(-leftMargin)+"px");


initCanvas();

}



function initCanvas(){

var theleft = leftMargin < 0 ? -leftMargin:0;

var thetop = topMargin < 0 ? -topMargin:0;

var rx = Math.random()*(canvasObj.width - 2*radius-2*theleft)+radius+theleft;

var ry = Math.random()*(canvasObj.height - 2*radius-2*thetop)+radius+thetop;

clippingRegion = {x:rx,y:ry,r:radius};

drawImage(imageObj,clippingRegion);

}



function drawImage(imageObj,clippingRegion){

contextObj.clearRect(0,0,canvasObj.width,canvasObj.height);


contextObj.save();

setClippingRegion(clippingRegion);

// contextObj.drawImage(imageObj,0,0);

contextObj.drawImage(imageObj,Math.max(leftMargin,0),Math.max(topMargin,0),Math.min(canvasObj.width,imageObj.width),Math.min(canvasObj.height,imageObj.height),leftMargin < 0 ? -leftMargin:0,topMargin < 0 ? -topMargin:0,Math.min(canvasObj.width,imageObj.width),Math.min(canvasObj.height,imageObj.height));

contextObj.restore();

}



function setClippingRegion(clippingRegion){

contextObj.beginPath();

contextObj.arc(clippingRegion.x,clippingRegion.y,clippingRegion.r,0,Math.PI*2,false);

contextObj.clip();

}



function reset(){

initCanvas();

}



function show(){

document.getElementById("reset-button").style.display="none";

var animation = setInterval(function(){

clippingRegion.r += 20;

if (clippingRegion.r > 2*Math.max(canvasObj.width,canvasObj.height)) {

clearInterval(animation);

document.getElementById("reset-button").style.display="block";

}

drawImage(imageObj,clippingRegion);

},30);

}



canvasObj.addEventListener("touchstart",function(e){

e.preventDefault();

});

canvas實現的紅包照片自適應效果

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

伊川县| 尉犁县| 大渡口区| 长海县| 九寨沟县| 浠水县| 华安县| 临安市| 咸阳市| 大竹县| 阳高县| 冀州市| 太和县| 舟曲县| 博客| 佛坪县| 韶关市| 鄂托克旗| 铁岭县| 平塘县| 南昌市| 海晏县| 陇川县| 广德县| 汉源县| 耿马| 惠安县| 镇巴县| 建宁县| 吉林市| 三门峡市| 杭州市| 会宁县| 册亨县| 磐石市| 新沂市| 长宁区| 滨海县| 郓城县| 上犹县| 丰镇市|