JavaScript+html5 canvas制作色彩斑斓的正方形效果_javascript技巧
程序员文章站
2022-04-03 08:58:41
...
本文实例讲述了JavaScript+html5 canvas制作色彩斑斓的正方形效果。分享给大家供大家参考,具体如下:
运行效果截图如下:
index.html:
canvas中的透明度
canvas.js:
(function() { var dyl = {cache: {}}; dyl.setContext = function(context) { dyl.cache._context = context; return context; }; dyl.getDom = function(id) { return document.getElementById(id); }; dyl._getContext = function() { return dyl.cache._context; }; dyl.save = function() { var context = dyl._getContext(); context ? context.save() : void(0); }; dyl.restore = function() { var context = dyl._getContext(); context ? context.restore() : void(0); }; dyl.createContext = function(canvasID) { var canvas = this.getDom(canvasID); if(!canvas) { return null; } return dyl.setContext(canvas.getContext("2d")); }; dyl.createColor = function() { var color = "rgb("; color += Math.round(Math.random()*255); color += ","; color += Math.round(Math.random()*255); color += ","; color += Math.round(Math.random()*255); color += ")"; return color; }; dyl.addImg = function(img, x, y) { var context = dyl._getContext(); if(!img || !context) { return; } if(typeof img === "string") { var oImg = new Image(); oImg.src = img; oImg.onload = function() { context.drawImage(oImg, x, y); } return; } context.drawImage(img, x, y); }; dyl.rect = function(color, x, y, width, height, alpha) { var context = dyl._getContext(); if(!context) { return; } context.save(); context.fillStyle = color; context.globalAlpha = alpha ? alpha : 1; context.fillRect(x, y, width, height); context.restore(); }; dyl.circle = function(color, x, y, r, alpha) { var context = dyl._getContext(); context.save(); context.fillStyle = color; context.beginPath(); context.globalAlpha = alpha ? alpha : 1; context.arc(x, y, r, 0, 2*Math.PI); context.fill(); context.stroke(); }; dyl.clearRect = function(x, y, width, height) { var context = dyl._getContext(); if(!context) { return; } context.clearRect(x, y, width, height); }; dyl.scale = function(x, y) { var context = dyl._getContext(); if(!context) { return; } x = x ? x : 1; y = y ? y : 1; context.scale(x, y); }; if(!window.dyl) { window.dyl = dyl; } })();
更多关于js特效相关内容感兴趣的读者可查看本站专题:《jQuery动画与特效用法总结》、《jQuery常见经典特效汇总》及《JavaScript动画特效与技巧汇总》
希望本文所述对大家JavaScript程序设计有所帮助。
推荐阅读
-
js+HTML5实现canvas多种颜色渐变效果的方法_javascript技巧
-
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码_javascript技巧
-
基于insertBefore制作简单的循环插空效果_javascript技巧
-
js+HTML5实现canvas多种颜色渐变效果的方法_javascript技巧
-
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码_javascript技巧
-
JavaScript+html5 canvas绘制小人的效果介绍
-
javascript+HTML5的Canvas实现Lab单车动画效果_javascript技巧
-
基于insertBefore制作简单的循环插空效果_javascript技巧
-
通过js来制作复选框的全选和不选效果_javascript技巧
-
JavaScript+html5 canvas制作色彩斑斓的正方形效果_javascript技巧