正规的彩票

基于HTML代码实现图片碎片化加载功能

  发布时间: 2019-06-23 11:29:51   作者: lmjben   正规的彩票要评论
这篇文章主要介绍了基于HTML代码实现图片碎片化加载功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

jintianlaishixianyigetupiansuipianhuajiazaixiaoguo,xiaoguoruxia:

 

正规的彩票zhengguidecaipiaofenwei 3 gebuzhoulaishixian:

  • 定义 html 结构
  • 拆分图片
  • 编写动画函数

定义html结构

zheilizhixuyaoyige canvas yuansujiukeyile。

<html>
  <body>
    <canvas
      id="myCanvas"
      width="900"
      height="600"
      style="background-color: black;"
    ></canvas>
  </body>
</html>

拆分图片

zheigelizizhong,zhengguidecaipiaojiangtupiananzhao 10 xing 10 liedewangge,chaifencheng 100 gexiaosuipian,zheiyangjiukeyiduimeiyigexiaosuipiandulixuanranle。

let image = new Image();
image.src = "https://cdn.yinhengli.com/canvas-example.jpeg";
let boxWidth, boxHeight;
// 拆分成 10 行,10 列
let rows = 10,
  columns = 20,
  counter = 0;

image.onload = function () {
  // 计算每一行,每一列的宽高
  boxWidth = image.width / columns;
  boxHeight = image.height / rows;
  // 循环渲染
  requestAnimationFrame(animate);
};

正规的彩票requestanimationframe : gaosuliulanqi,nixiwangzhixingyigedonghua,bingqieyaoqiuliulanqizaixiacizhonghuizhiqiandiaoyongzhidingdehuidiaohanshugengxindonghua。

编写动画函数

jiexialaizhengguidecaipiaobianxiedonghuahanshu,rangliulanqizaimeiyicizhonghuiqian,suijixuanranmougexiaosuipian。

zheilidehexinshi context.drawimage fangfa。

let canvas = document.getElementById("myCanvas");
let context = canvas.getContext("2d");

function animate() {
  // 随机渲染某个模块
  let x = Math.floor(Math.random() * columns);
  let y = Math.floor(Math.random() * rows);
  // 核心
  context.drawImage(
    image,
    x * boxWidth,  // canvas 中横坐标起始位置
    y * boxHeight, // canvas 中纵坐标起始位置
    boxWidth,      // 画图的宽度(小碎片图像的宽)
    boxHeight,     // 画图的高度(小碎片图像的高)
    x * boxWidth,  // 从大图的 x 坐标位置开始画图
    y * boxHeight, // 从大图的 y 坐标位置开始画图
    boxWidth,      // 从大图的 x 位置开始,画多宽(小碎片图像的宽)
    boxHeight      // 从大图的 y 位置开始,画多高(小碎片图像的高)
  );
  counter++;
  // 如果模块渲染了 90%,就让整个图片显示出来。
  if (counter > columns * rows * 0.9) {
    context.drawImage(image, 0, 0);
  } else {
    requestAnimationFrame(animate);
  }
}

wanzhengdaima

<html>
  <body>
    <canvas
      id="myCanvas"
      width="900"
      height="600"
      style="background-color: black;"
    ></canvas>
    <script>
      let image = new Image();
      image.src = "https://cdn.yinhengli.com/canvas-example.jpeg";
      let canvas = document.getElementById("myCanvas");
      let context = canvas.getContext("2d");
      let boxWidth, boxHeight;
      let rows = 10,
        columns = 20,
        counter = 0;

      image.onload = function () {
        boxWidth = image.width / columns;
        boxHeight = image.height / rows;
        requestAnimationFrame(animate);
      };

      function animate() {
        let x = Math.floor(Math.random() * columns);
        let y = Math.floor(Math.random() * rows);
        context.drawImage(
          image,
          x * boxWidth, // 横坐标起始位置
          y * boxHeight, // 纵坐标起始位置
          boxWidth, // 图像的宽
          boxHeight, // 图像的高
          x * boxWidth, // 在画布上放置图像的 x 坐标位置
          y * boxHeight, // 在画布上放置图像的 y 坐标位置
          boxWidth, // 要使用的图像的宽度
          boxHeight // 要使用的图像的高度
        );
        counter++;
        if (counter > columns * rows * 0.9) {
          context.drawImage(image, 0, 0);
        } else {
          requestAnimationFrame(animate);
        }
      }
    </script>
  </body>
</html>

总结

tongguozheige demo,zhengguidecaipiaoshiyongle canvasapi shixianletupiandesuipianjiazaixiaoguo,shibushitebiejiandan!

daocizheipianguanyujiyuhtmldaimashixiantupiansuipianhuajiazaigongnengdewenzhangjiujieshaodaozheile,gengduoxiangguanhtmltupiansuipianhuajiazaineirongqingsousuojiaobenzhijiayiqiandewenzhanghuojixuliulanxiamiandezhengguidecaipiaoxiangguandewenzhang,xiwangdajiayihouduoduozhichijiaobenzhijia!

正规的彩票相关的文章

  • HTML5 图片预加载的示例代码

    这篇文章主要介绍了HTML5 图片预加载的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习
    2019-03-25
  • webView加载html图片遇到的问题解决

    这篇文章主要介绍了webView加载html图片遇到的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起
    2018-10-08
  • 利用简洁的图片预加载组件提升html5移动页面的用户体验

    这篇文章主要介绍了利用简洁的图片预加载组件提升html5移动页面的用户体验 的相关资料,需要的朋友可以参考下
    2015-03-11
  • html5实现的页面滚动图片动画加载特效源码

    这是一款基于html5实现的页面滚动图片动画加载特效源码。页面上下滚动的时候图片可呈现动态加载效果,有常规渐显效果及3D翻转显示两种显示效果供选择
    2015-01-27
  • HTML5实现的图片无限加载的瀑布流效果另带边框圆角阴影

    一款网页瀑布流效果,可以实现图片的无限制加载。基于时下流行的HTML5技术编写而成,除了实现瀑布流,还加入了CSS5的图片修饰效果,比如图片的圆角边框、图片阴影立体效果
    2013-03-07

最新评论

正规的彩票_正规彩票平台app下载[首页最快线路√] 彩票官网_彩票官网app|网站首页 彩票平台_彩票平台快三-[平台最快线路√] 彩票app下载_彩票app下载官网下载快三_官方入口 彩票平台_彩票平台app-专注彩票门户 彩票官网_彩票官网app下载网址-HOME 彩票平台_彩票平台登录-老品牌最信誉 彩票app_彩票app客户端下载>> 首页 彩票平台_彩票平台免费送彩金18-点击进入>! 彩票平台_彩票平台官网〖2020购彩首选〗 彩票app_彩票app彩票投注平台-Welcome