zoukankan      html  css  js  c++  java
  • html5 相同形状的图形进行循环

           现在在学习canvas,是html5中扮演者一个非常重要的角色,可以画出很多奇异的,带有diy的图形。。。。

    这里,我设计了几个:

    这次,我将界面弄的比较花哨,因为我在同一个画布上面画了很多个形状!

      <!DOCTYPE html>
      <html>
      <head>
      <title></title>
      <meta charset="utf-8">
      <style type="text/css">
       
       
       
      </style>
      <script type="text/javascript">
      var color = new Array("red", "grey", "blue", "yellow", "orange", "green", "purple", "black", "white", "#0f0");
     

    window.onload = function () {

    得到画布

      var canvas = document.getElementById("myCanvas");
      var context = canvas.getContext("2d");
       
       开始画
      context.beginPath();
      context.lineWidth = 40;
      context.strokeStyle = "#f00";
      context.moveTo(40, 40);
      context.lineTo(160, 160);
     

    context.stroke();

    结束画

      context.closePath();
       
       
      context.beginPath();
      context.lineWidth = 40;
      context.strokeStyle = "#00f";
      context.moveTo(160, 40);
      context.lineTo(40, 160);
      context.stroke();
      context.closePath();
       
       在这里我们应用到渐变
     

    var fillcolordiagonal = context.createLinearGradient(60, 400, 500, 40);

      fillcolordiagonal.addColorStop(0, "blue");
      fillcolordiagonal.addColorStop(0.1, "black");
      fillcolordiagonal.addColorStop(0.2, "darkslategrey");
      fillcolordiagonal.addColorStop(0.3, "black");
      fillcolordiagonal.addColorStop(0.4, "darkslategrey");
      fillcolordiagonal.addColorStop(0.5, "black");
      fillcolordiagonal.addColorStop(0.6, "darkslategrey");
      fillcolordiagonal.addColorStop(0.7, "red");
      fillcolordiagonal.addColorStop(0.8, "darkslategrey");
      fillcolordiagonal.addColorStop(0.9, "black");
       
      context.fillStyle = fillcolordiagonal;
       
       
      context.fillRect(0, 590, 1300, 20);
      context.stroke();
      var fillcolortext = context.createLinearGradient(100, 100, 100, 50);
      fillcolortext.addColorStop(0.2, "blue");
      fillcolortext.addColorStop(0.4, "purple");
      fillcolortext.addColorStop(0.6, "green");
      fillcolortext.addColorStop(0.8, "red");
      context.beginPath();
      context.fillStyle = fillcolortext;
      context.font = "30px verdana red";
      context.textBaseline = "top";
      // context.fontcolor("red");
      context.fillText("Welcome to HTML5", 10, 200);
       
      context.fill();
      // context.stroke();
       
      var fillcolortext = context.createLinearGradient(100, 100, 100, 50);
      fillcolortext.addColorStop(0.2, "red");
      fillcolortext.addColorStop(0.4, "purple");
      fillcolortext.addColorStop(0.6, "green");
      fillcolortext.addColorStop(0.8, "red");
      context.beginPath();
      context.fillStyle = fillcolortext;
      context.font = "30px verdana";
      context.textBaseline = "top";
      // context.fontcolor("red");
      context.fillText("welcome to my World", 10, 230);
       
      context.fill();
      // context.stroke();
       
      var fillcolortext = context.createLinearGradient(100, 100, 100, 50);
      fillcolortext.addColorStop(0.2, "blue");
      fillcolortext.addColorStop(0.4, "purple");
      fillcolortext.addColorStop(0.6, "green");
      fillcolortext.addColorStop(0.8, "red");
      context.beginPath();
      context.fillStyle = fillcolortext;
      context.font = "35px verdana red";
      context.textBaseline = "top";
      // context.fontcolor("red");
      context.fillText("In fact,i don't know html5,but i like it yet!", 100, 610);
      context.fill();
      context.stroke();
       
       
      context.beginPath();
      var fillcolorradial = context.createRadialGradient(1050, 150, 0, 1050, 150, 200);
      fillcolorradial.addColorStop(0, "darkslategrey");
       
      fillcolorradial.addColorStop(0.2, "black");
      fillcolorradial.addColorStop(0.4, "darkslategrey");
       
      fillcolorradial.addColorStop(0.6, "black");
       
       
      fillcolorradial.addColorStop(0.8, "darkslategrey");
      fillcolorradial.addColorStop(0.9, "black");
      context.fillStyle = fillcolorradial;
      // context.rect(1050,150,150,150);
      context.arc(1050, 150, 150, 0, Math.PI * 2, true);
      context.fill();
      //context.stroke();
       
     

    for (var i = 0; i < 105; i++) {

    得到随机数,这样就可以随机颜色与位置了

      var srandX = parseInt(Math.random() * 10000 % 1300);
      var srandY = parseInt(Math.random() * 1000 % 600);
      var srandColor = parseInt(Math.random() * 10);
      context.beginPath();
      context.fillStyle = color[srandColor];
       
      // context.arc(30+100*i,560,15,0,Math.PI*2,true);
      context.arc(srandX, srandY, 15, 0, Math.PI * 2, true);
      context.fill();
      context.closePath();
      }
       
     

    for (var i = 0; i < 7; i++) {

    在这里我们开始画最大的那7个围绕着一个中心旋转的矩形

      var srandColor = parseInt(Math.random() * 10);
     

    context.beginPath();

    得到一个新的原点

     

    context.translate(570, 250);

    旋转的角度

     

    context.rotate(40 * Math.PI / 180);

    返回到原点

      context.translate(-570, -250);
       
     

    context.strokeStyle = color[srandColor];

    设置矩形的位置与大小

     

    context.strokeRect(360, 200, 420, 100);

      context.stroke();
     

    }

    上面的旋转类似

      for (var i = 0; i < 6; i++) {
      var srandColor = parseInt(Math.random() * 10);
      context.beginPath();
      context.translate(820, 750);
      context.rotate(30 * Math.PI / 180);
      context.translate(-820, -750);
       
      context.strokeStyle = color[srandColor];
      context.strokeRect(790, 730, 60, 40);
      context.stroke();
     

    }

    同上

      for (var i = 0; i < 6; i++) {
      var srandColor = parseInt(Math.random() * 10);
      context.beginPath();
      context.translate(1200, 720);
      context.rotate(30 * Math.PI / 180);
      context.translate(-1200, -720);
       
      context.strokeStyle = color[srandColor];
      context.strokeRect(1300, 800, 100, 70);
      // context.stroke();
      }
      }
       
      </script>
      </head>
      <body>
      <canvas width="1300" height="800" id="myCanvas" style="background-color: darkslategrey"></canvas>
       
      </body>
      </html>

    一切只是为了充实自己!!stay hungry and stay foolish!!
  • 相关阅读:
    linux下编译GDAL3.x(集成Proj和Geos等)
    CSS后代选择器、子元素选择器、相邻兄弟选择器区别与详解
    CSS hover伪类改变其他元素的样式
    PHP 删除数组指定元素
    CakePHP 调试方法 汇总
    Linux/Mac OS 在终端使用 code 命令打开项目 VSCode
    苹果 MacOS 安装 Source Code Pro
    MacOS 安装 Homebrew 错误处理 Connection refused
    修改 VSCode 终端 Terminal 的字体
    spring cloud gateway自定义过滤器
  • 原文地址:https://www.cnblogs.com/Catherine-Brain/p/3434732.html
Copyright © 2011-2022 走看看