HTML5画布像素图像的焦点
来源:互联网 发布:最好的中文编程语言 编辑:程序博客网 时间:2024/05/16 09:20
感觉这个代码还真的是挺好的啊,这个是比较不错,大家直接看吧。
<!DOCTYPE HTML><html> <head> <style> body { margin: 0px; padding: 0px; } </style> </head> <body> <canvas id="myCanvas" width="578" height="400"></canvas> <script> var pixelation = 40; function focusImage(context, imageObj, sourceWidth, sourceHeight, destX, destY) { var sourceX = destX; var sourceY = destY; var imageData = context.getImageData(sourceX, sourceY, sourceWidth, sourceHeight); var data = imageData.data; for(var y = 0; y < sourceHeight; y += pixelation) { for(var x = 0; x < sourceWidth; x += pixelation) { var red = data[((sourceWidth * y) + x) * 4]; var green = data[((sourceWidth * y) + x) * 4 + 1]; var blue = data[((sourceWidth * y) + x) * 4 + 2]; for(var n = 0; n < pixelation; n++) { for(var m = 0; m < pixelation; m++) { if(x + m < sourceWidth) { data[((sourceWidth * (y + n)) + (x + m)) * 4] = red; data[((sourceWidth * (y + n)) + (x + m)) * 4 + 1] = green; data[((sourceWidth * (y + n)) + (x + m)) * 4 + 2] = blue; } } } } } // overwrite original image context.putImageData(imageData, destX, destY); pixelation -= 1; } var fps = 20; // frames / second var timeInterval = 1000 / fps; // milliseconds var canvas = document.getElementById('myCanvas'); var context = canvas.getContext('2d'); var imageObj = new Image(); imageObj.onload = function() { var sourceWidth = imageObj.width; var sourceHeight = imageObj.height; var destX = canvas.width / 2 - sourceWidth / 2; var destY = canvas.height / 2 - sourceHeight / 2; var intervalId = setInterval(function() { context.drawImage(imageObj, destX, destY); if(pixelation < 1) { clearInterval(intervalId); } else { focusImage(context, imageObj, sourceWidth, sourceHeight, destX, destY); } }, timeInterval); }; imageObj.src = 'http://www.html5canvastutorials.com/demos/assets/darth-vader.jpg'; </script> </body></html>
0 0
- HTML5画布像素图像的焦点
- HTML5画布加载图像数据的URL
- HTML5画布获得图像数据的URL
- HTML5画布加载图像数据的URL
- HTML5画布行星图像映射
- HTML5画布图像数据教程
- HTML5画布上拖拽一个图像
- HTML5画布图像尺寸教程
- HTML5 Canvas(画布)图像处理
- HTML5画布kineticjs照亮或变暗的图像教程
- HTML5的画布
- HTML5的画布:Paths
- html5处理图像-像素处理
- HTML5画布kineticjs灰度图像教程
- HTML5画布Three.js图像纹理
- HTML5画布扩大图像在盘旋
- HTML5画布画保存为一个图像
- HTML5画布阻力、下降和调整图像
- vmware下安装centos x86_64出现“kernel requires an x86_64 cpu, but only detected ”
- 49-一个偶数总能表示为两个素数之和
- windows安装程序无法将windows配置为在此计算机的硬件上运行
- 快速排序-随机选择,寻找最小的第K个数
- android ViewHolder模式超简洁写法
- HTML5画布像素图像的焦点
- 几种能力
- Multisim出现步长问题 step time
- KVC KVO总结
- 《CLR via C#》读书笔记之:类型基础
- HTML5画布模式教程
- openCV matchTemplate函数不同参数对应的相似性度量
- JAVA之String类及String类方法总结
- 如何设置eclipse编辑器中的字体大小