热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何使用HTML5canvas实现图像的马赛克-

HTML5canvas可以处理很多的图像问题,那么如何使用HTML5canvas实现图像的马赛克呢?本篇文章就来给大家介绍HTML5canvas实现图像的马赛克的方法,下面我们一起来看具体内容。
HTML5 canvas可以处理很多的图像问题,那么如何使用HTML5 canvas实现图像的马赛克呢?本篇文章就来给大家介绍HTML5 canvas实现图像的马赛克的方法,下面我们一起来看具体内容。

HTML5 canvas实现图像的马赛克代码如下




    
	
  


  
  
Canvas Demo

说明:

body标签的on函数在显示页面时执行绘图功能。
draw函数在内存中创建HTML画布对象,读取原始图像并在画布上绘制它。调用渲染的画布对象的getImageData方法以获取像素信息。

   function draw() {
         var canvas = document.getElementById('SimpleCanvas');      
         var mem_canvas = document.createElement('canvas');
      if (!canvas || !canvas.getContext) {
                 return false;
      }
      var cOntext= canvas.getContext('2d');
      var img = new Image();
      img.Onload= function onImageLoad() {
        mem_canvas.width = img.width;
        mem_canvas.height = img.height;
        var mem_cOntext= mem_canvas.getContext('2d');
        mem_context.drawImage(img, 0, 0);
        imageData = mem_context.getImageData(0, 0, mem_canvas.width, mem_canvas.height);
        CreateMosaic(mem_context, mem_canvas.width, mem_canvas.height, 8);
        context.drawImage(mem_canvas, 32, 32);
      }
      img.src = 'img/luffy.jpg'; 
    }

使用所读取的原始图像的宽度和高度,HTML画布的上下文,马赛克的大小以及原始图像的像素信息来执行马赛克处理。马赛克处理由CreateMosaic()函数实现。由于图像的像素信息大小很大,因此不存储在CreateMosaic()函数的参数中,而是存储在全局变量中。如果你想提高代码的可读性,可以赋予CreateMosaic()函数参数的结构。
在CreateMosaic中利用循环根据马赛克的大小来取出像素的值,如果马赛克的大小为4,可以取得每4个像素的像素值,使用获取的像素值的颜色在画布上绘制正方形的马赛克大小

 function CreateMosaic(context, width,height,mosaicSize) {
       var x=0;      
       var y=0;
      for (y = 0; y 

运行结果:

以上就是如何使用HTML5 canvas实现图像的马赛克的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
author-avatar
冯家岗台区_941
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有