html5<canvas操作像素实例之渐变>
来源:互联网 发布:it学校 编辑:程序博客网 时间:2024/06/05 13:26
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
canvas{
background:#eee;
}
</style>
<script>
window.onload = function(){
var canvas = document.getElementById('canvas');
var cobj = canvas.getContext('2d');//获取绘图环境
// cobj.fillRect(0,0,100,100);
// var newImgData = cobj.getImageData(0,0,100,100);
// var imgData = cobj.createImageData(newImgData);
// alert(imgData.width);//100,只是复制宽高
// alert(imgData.data[0]);// 0
// alert(imgData.data[0]);// 0
// alert(imgData.data[0]);// 0
// alert(imgData.data[0]);// 0
var imgData = cobj.createImageData(100,100);
// for(var i=0;i<imgData.width*imgData.height;i++){
// imgData.data[i*4+0] = 128+(i/(imgData.width*imgData.height))*(23-128);
// imgData.data[i*4+1] = 40+(i/(imgData.width*imgData.height))*(125-18);
// imgData.data[i*4+2] = 18+(i/(imgData.width*imgData.height))*(230-18);
// imgData.data[i*4+3] = 128+(i/(imgData.width*imgData.height))*(123-128);
// }
// cobj.putImageData(imgData, 100,100);
Gradient(imgData,[123,32,24,99],[232,12,34,44]);
//用像素画图形呈现渐变性,封装成函数
function Gradient(imgObj,colorArr1,colorArr2){
for(var i=0;i<imgObj.width*imgObj.height;i++){
imgObj.data[i*4+0] = colorArr1[0]+(i/(imgObj.width*imgObj.height))*(colorArr2[0]-colorArr1[0]);
imgObj.data[i*4+1] = colorArr1[1]+(i/(imgObj.width*imgObj.height))*(colorArr2[1]-colorArr1[1]);
imgObj.data[i*4+2] = colorArr1[2]+(i/(imgObj.width*imgObj.height))*(colorArr2[2]-colorArr1[2]);
imgObj.data[i*4+3] = colorArr1[3]+(i/(imgObj.width*imgObj.height))*(colorArr2[3]-colorArr1[3]);
}
cobj.putImageData(imgObj, 100,100);
// return imgObj;
}
}
</script>
</head>
<body>
<canvas id="canvas" width=500 height=500>
</canvas>
</body>
<head>
<meta charset="utf-8">
<style>
canvas{
background:#eee;
}
</style>
<script>
window.onload = function(){
var canvas = document.getElementById('canvas');
var cobj = canvas.getContext('2d');//获取绘图环境
// cobj.fillRect(0,0,100,100);
// var newImgData = cobj.getImageData(0,0,100,100);
// var imgData = cobj.createImageData(newImgData);
// alert(imgData.width);//100,只是复制宽高
// alert(imgData.data[0]);// 0
// alert(imgData.data[0]);// 0
// alert(imgData.data[0]);// 0
// alert(imgData.data[0]);// 0
var imgData = cobj.createImageData(100,100);
// for(var i=0;i<imgData.width*imgData.height;i++){
// imgData.data[i*4+0] = 128+(i/(imgData.width*imgData.height))*(23-128);
// imgData.data[i*4+1] = 40+(i/(imgData.width*imgData.height))*(125-18);
// imgData.data[i*4+2] = 18+(i/(imgData.width*imgData.height))*(230-18);
// imgData.data[i*4+3] = 128+(i/(imgData.width*imgData.height))*(123-128);
// }
// cobj.putImageData(imgData, 100,100);
Gradient(imgData,[123,32,24,99],[232,12,34,44]);
//用像素画图形呈现渐变性,封装成函数
function Gradient(imgObj,colorArr1,colorArr2){
for(var i=0;i<imgObj.width*imgObj.height;i++){
imgObj.data[i*4+0] = colorArr1[0]+(i/(imgObj.width*imgObj.height))*(colorArr2[0]-colorArr1[0]);
imgObj.data[i*4+1] = colorArr1[1]+(i/(imgObj.width*imgObj.height))*(colorArr2[1]-colorArr1[1]);
imgObj.data[i*4+2] = colorArr1[2]+(i/(imgObj.width*imgObj.height))*(colorArr2[2]-colorArr1[2]);
imgObj.data[i*4+3] = colorArr1[3]+(i/(imgObj.width*imgObj.height))*(colorArr2[3]-colorArr1[3]);
}
cobj.putImageData(imgObj, 100,100);
// return imgObj;
}
}
</script>
</head>
<body>
<canvas id="canvas" width=500 height=500>
</canvas>
</body>
</html>
阅读全文
0 0
- html5<canvas操作像素实例之渐变>
- html5<canvas操作文字实例之转盘>
- html5<canvas操作像素之反相、窗帘、模糊特效>
- html5<canvas操作像素之添加杂色,动态倒影逐行显示>
- HTML5之Canvas 2D入门4 - 直接操作像素
- html5<canvas操作图像实例之弹性照片墙>
- Html5实例: <canvas>绘制渐变图形
- HTML5(九)canvas操作文字实例之转盘
- HTML5 Canvas 渐变
- html5 canvas元素渐变
- HTML5 Canvas(7) 渐变
- HTML5教程实例-用Canvas制作线性渐变图形
- HTML5教程实例-用Canvas制作径向渐变图形
- html5 canvas实例 绘制变形图形 径向渐变
- html5中的canvas线性渐变
- html5<canvas图像合成实例之随机闪烁的星星>
- canvas 像素操作
- canvas操作图片像素
- 监听DIV内容变化
- cannot resolve corresponding JNI function
- Android studio配置androidannotations最好的配置说明(转载)
- Docker常用命令_NOTE1
- #OSG+VS#第十四周
- html5<canvas操作像素实例之渐变>
- SSM:spring+springmvc+mybatis框架中的XML配置文件功能详细解释
- 使用Tomcat进行简单的HTTP文件传输
- XSS攻击常用脚本
- windbg 符号表
- phpcms v9中模板标签使用说明
- cpp——类——VTBL
- phpcms v9 创建模块
- cpp——类——VBTBL