js核心代码

/*

*canvasid:html canvas标签id

*imageid:html img 标签id

*gridcountX:x轴图片分割个数

*gridcountY:y轴图片分割个数

*gridspace:宫格空隙

*offsetX:x*y宫格相对canvas(0,0)X坐标偏移量

**offsetX:x*y宫格相对canvas(0,0)Y坐标偏移量

*isanimat:是否启用动画显示

*/

function ImageGrid(canvasid, imageid, gridcountX, gridcountY, gridspace, offsetX, offsetY, isanimat) {

var image = new Image();

var g = document.getElementById(canvasid).getContext("2d");

var img=document.getElementById(imageid);

image.src=img.getAttribute("src");

g.drawImage(image, 0, 0);

var imagedata = g.getImageData(0, 0, image.width, image.height);

var grid_width = imagedata.width / gridcountX;

var grid_height = imagedata.height / gridcountY;

//动画

if (isanimat) {

var x = 0,

y = 0;

var inter = setInterval(function() {

g.putImageData(imagedata, gridspace * x + offsetX, gridspace * y + offsetY, grid_width * x, grid_height * y, grid_width, grid_height);

x < gridcountX ? x++ : x = 0;

if (x == 0) {

y < gridcountY ? y++ : y = 0;

}

}, 200);

y == gridcountY ? clearInterval(inter) : null;

} else { //非动画

for (var y = 0; y < gridcountY; y++) {

for (var x = 0; x < gridcountX; x++) {

g.putImageData(imagedata, gridspace * x + offsetX, gridspace * y + offsetY, grid_width * x, grid_height * y, grid_width, grid_height);

}

}

}

}

html代码

Canvas demo

使用方法:

//eg...

ImageGrid("canvas1", "image1", 3, 3, 2, 220, 0, true); //3*3

ImageGrid("canvas1", "image1", 4, 4, 2, 440, 0, true); //4*4

ImageGrid("canvas1", "image1", 3, 4, 2, 660, 0, false); //3*4

代码很简洁,效果却非常炫酷,小伙伴们学会了吗?

html5+canvas+九宫格,javascript+canvas制作九宫格小程序相关推荐

  1. Canvas 动画引擎解析与微信小程序中的应用

    点击观看大咖分享 抗击疫情,腾讯云在行动.在开发微信小程序的过程中,我们经常需要展现一些图形和图表.目前市面上有好几款常用的图形库,在这些图形库的底层都有渲染引擎在支撑. ZRender 是其中一款非 ...

  2. 首发全DIY强大微信朋友圈截图制作生成小程序源码下载点赞,评论等等

    这是一款朋友圈截图制作的一款小程序源码 主要的特点是DIY,之前小编发布过朋友圈截图的小程序 不管之前那款小程序只能生成点赞数量,无法获取用户名等等 但是这一款就不一样了,这一款刚刚也说了特点是DIY ...

  3. DIY微信朋友圈截图制作生成小程序源码下载

    这是一款朋友圈截图制作的一款小程序源码 主要的特点是DIY,之前小编发布过朋友圈截图的小程序 不管之前那款小程序只能生成点赞数量,无法获取用户名等等 但是这一款就不一样了,这一款刚刚也说了特点是DIY ...

  4. 小程序源码:首发全DIY强大微信朋友圈截图制作生成小程序

    这是一款朋友圈截图制作的一款小程序源码 主要的特点是DIY,之前小编发布过朋友圈截图的小程序 不管之前那款小程序只能生成点赞数量,无法获取用户名等等 但是这一款就不一样了,这一款刚刚也说了特点是DIY ...

  5. 谷歌开发者大会焦点:TensorFlow.js可制作微信小程序,Android 10原生支持5G,TF2.0大更新...

    2016 年谷歌开发者大会在中国首次举办,2017 年谷歌宣布成立"AI 中国研发中心",2018年谷歌的"AI+小程序"的产物"猜画小歌" ...

  6. 【微信小程序】可拖拽操作的“树状图”模块的制作和小程序经验的总结

    去年三月份高中同学拉我做的微信小程序,尽管可能除了高一的时候做网页写过些js以后就再也没碰过(甚至高一时因为觉得"以后肯定不会做程序员"而拒绝学习代码),但得到了"你就写 ...

  7. 怎样自己开发制作微信小程序?费用多少?

    随着移动互联网的深入发展,各行各业都在寻求转型,希望通过线上软件系统来助力传统企业更好的发展,于是各种APP.小程序软件系统层出不穷.微信小程序是诸多软件中最流行的一种,凭借强大的流量基础.随用随走的 ...

  8. 都2020年,开发制作微信小程序商城,需要准备什么资料?应该不会不知道吧!

    微信小程序使用越来越广泛,而还未入局的对于微信小程序开发需要什么材料甚至不清楚,其实这些材料很简单.总结就是微信支付.微信小程序注册.小程序代码,下面展开说说. 小程序红利 从腾讯刚发布的财报看,微信 ...

  9. 如何制作python检查小软件_如何用Python制作整蛊小程序

    原标题:如何用Python制作整蛊小程序 下面的整蛊程序,千万不要发代码,否则就实现不了你整蛊的目的了.完成后一定要打包成一个exe程序,再发给朋友使用 . 1. 使用 pip install pyi ...

  10. 一般一个前端项目完成需要多久_制作分销小程序最快要多久

    小猪V5分销小程序小编了解到,微商城及微分销搭建成为当下热门话题,下面从多个方面来谈谈快速制作电商小程序最快要多久. 微信为小程序开放了超过60多个入口,比如有微信群聊入口.微信聊天主界面下拉.App ...

最新文章

  1. OpenCV求逆(伪逆)矩阵函数
  2. 可变形卷积网络--Deformable Convolutional Networks
  3. HAproxy七层负载均衡——访问控制、动静分离、读写分离实现过程详解
  4. clipboard_monitor_in_win7
  5. mac打开class文件
  6. java list取值_Java集合详解
  7. 在IntelliJ IDEA中为不同的数据源着色
  8. 基于短视频的人脸解析比赛
  9. Linux压缩文件与解压文件(*.zip)
  10. apache tomcat php mysql 配置_Apache与Tomcat服务器整合的基本配置方法及概要说明
  11. Shiro-从数据表中初始化资源和权限
  12. Protel99SE快捷键大全
  13. 基于讯飞语音API应用开发之——离线词典构建
  14. 计算机综述论文能发期刊吗,发表计算机算法论文的sci期刊
  15. Chrome 浏览器关闭第三方Cookie会导致内嵌的哔哩哔哩视频无法加载
  16. 手机号归属地 mysql脚本_手机号码归属地能否取消? 这些热点问题,工信部回复了...
  17. php验证是否为整数(0、正整数、负整数)
  18. Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE
  19. 禁用 SQL 游标,告诉你外面听不到的原因【内含福利】
  20. [ACNOI2022]《普林斯普的荣光》

热门文章

  1. trickle_ice 原理
  2. 音乐平台程序源码分享
  3. Nexus升级、license安装和恢复密码
  4. 微软Surface Pro 4/5平板如何重装Win10系统?教程分享
  5. RHEL 7.8 64bit MYSQL linux-generic 8.0.20 初始化安装
  6. opencv 手选roi区域_如何用opencv实现感兴趣区域ROI的选取
  7. JavaBeans分类
  8. IDEA自带插件的实体生成详细教程,离线情况下如何导入MySQL的驱动
  9. Win10+Python3+OpenCV+CUDA——在win中配置OpenCV4.5并与Python环境绑定
  10. ArrayList常见练习题解析