1. <legend id='O6C9R'><style id='O6C9R'><dir id='O6C9R'><q id='O6C9R'></q></dir></style></legend>
      <i id='O6C9R'><tr id='O6C9R'><dt id='O6C9R'><q id='O6C9R'><span id='O6C9R'><b id='O6C9R'><form id='O6C9R'><ins id='O6C9R'></ins><ul id='O6C9R'></ul><sub id='O6C9R'></sub></form><legend id='O6C9R'></legend><bdo id='O6C9R'><pre id='O6C9R'><center id='O6C9R'></center></pre></bdo></b><th id='O6C9R'></th></span></q></dt></tr></i><div id='O6C9R'><tfoot id='O6C9R'></tfoot><dl id='O6C9R'><fieldset id='O6C9R'></fieldset></dl></div>

      <tfoot id='O6C9R'></tfoot>

        <bdo id='O6C9R'></bdo><ul id='O6C9R'></ul>
    2. <small id='O6C9R'></small><noframes id='O6C9R'>

      1. 在画布中的圆圈之间绘制垂直线

        Draw vertical line between circles in canvas(在画布中的圆圈之间绘制垂直线)

              <tfoot id='6OhdA'></tfoot>

                <tbody id='6OhdA'></tbody>
              • <bdo id='6OhdA'></bdo><ul id='6OhdA'></ul>
              • <i id='6OhdA'><tr id='6OhdA'><dt id='6OhdA'><q id='6OhdA'><span id='6OhdA'><b id='6OhdA'><form id='6OhdA'><ins id='6OhdA'></ins><ul id='6OhdA'></ul><sub id='6OhdA'></sub></form><legend id='6OhdA'></legend><bdo id='6OhdA'><pre id='6OhdA'><center id='6OhdA'></center></pre></bdo></b><th id='6OhdA'></th></span></q></dt></tr></i><div id='6OhdA'><tfoot id='6OhdA'></tfoot><dl id='6OhdA'><fieldset id='6OhdA'></fieldset></dl></div>

                <small id='6OhdA'></small><noframes id='6OhdA'>

                <legend id='6OhdA'><style id='6OhdA'><dir id='6OhdA'><q id='6OhdA'></q></dir></style></legend>
                  本文介绍了在画布中的圆圈之间绘制垂直线的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我想在我的项目中的圆圈之间画一条垂直线.

                  I want draw a vertical line between circles in my project.

                  这些是我的代码:

                  html:

                      <div id="ways" style="width:1000px;margin:0 auto;height:100%;">
                          <div id="row1">
                              <div id="col11" class="r1"><canvas id="col111" width="578" height="200"></canvas></div>
                              <div id="col12" class="r1"><canvas id="col112" width="578" height="200"></canvas></div>
                              <div id="col13" class="r1"><canvas id="col113" width="578" height="200"></canvas></div>
                          </div>
                          <div id="row2">
                              <div id="col21" class="r1"><canvas id="col221" width="578" height="200"></canvas></div>
                              <div id="col22" class="r1"><canvas id="col222" width="578" height="200"></canvas></div>
                              <div id="col23" class="r1"><canvas id="col223" width="578" height="200"></canvas></div>
                          </div>
                          <div id="row3">
                              <div id="col31" class="r1"><canvas id="col331" width="578" height="200"></canvas></div>
                              <div id="col32" class="r1"><canvas id="col332" width="578" height="200"></canvas></div>
                              <div id="col33" class="r1"><canvas id="col333" width="578" height="200"></canvas></div>
                          </div>
                      </div>
                  

                  这些是js代码:

                  var canvas = document.getElementById('col111');
                                  var context = canvas.getContext('2d');
                                  var centerX = canvas.width / 2;
                                  var centerY = canvas.height / 2;
                                  var radius = 70;
                  
                                  context.beginPath();
                                  context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);
                                  context.fillStyle = 'green';
                                  context.fill();
                                  context.lineWidth = 5;
                                  context.strokeStyle = '#003300';
                                  context.stroke();
                  
                                  var canvas = document.getElementById('col112');
                                  var context = canvas.getContext('2d');
                                  var centerX = canvas.width / 2;
                                  var centerY = canvas.height / 2;
                                  var radius = 70;
                  
                                  context.beginPath();
                                  context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);
                                  context.fillStyle = 'green';
                                  context.fill();
                                  context.lineWidth = 5;
                                  context.strokeStyle = '#003300';
                                  context.stroke();
                  
                                  var canvas = document.getElementById('col113');
                                  var context = canvas.getContext('2d');
                                  var centerX = canvas.width / 2;
                                  var centerY = canvas.height / 2;
                                  var radius = 70;
                  
                                  context.beginPath();
                                  context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);
                                  context.fillStyle = 'green';
                                  context.fill();
                                  context.lineWidth = 5;
                                  context.strokeStyle = '#003300';
                                  context.stroke();
                  
                  
                                  var canvas = document.getElementById('col221');
                                  var context = canvas.getContext('2d');
                                  var centerX = canvas.width / 2;
                                  var centerY = canvas.height / 2;
                                  var radius = 70;
                  
                                  context.beginPath();
                                  context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);
                                  context.fillStyle = 'green';
                                  context.fill();
                                  context.lineWidth = 5;
                                  context.strokeStyle = '#003300';
                                  context.stroke();
                  
                                  var canvas = document.getElementById('col222');
                                  var context = canvas.getContext('2d');
                                  var centerX = canvas.width / 2;
                                  var centerY = canvas.height / 2;
                                  var radius = 70;
                  
                                  context.beginPath();
                                  context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);
                                  context.fillStyle = 'green';
                                  context.fill();
                                  context.lineWidth = 5;
                                  context.strokeStyle = '#003300';
                                  context.stroke();
                  
                                  var canvas = document.getElementById('col223');
                                  var context = canvas.getContext('2d');
                                  var centerX = canvas.width / 2;
                                  var centerY = canvas.height / 2;
                                  var radius = 70;
                  
                                  context.beginPath();
                                  context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);
                                  context.fillStyle = 'green';
                                  context.fill();
                                  context.lineWidth = 5;
                                  context.strokeStyle = '#003300';
                                  context.stroke();
                  

                  如何在圆圈之间画一条垂直线?当我尝试这样做时,变成了这个图像:

                  How I can draw a vertical line between circles? when I tried to do this become this image:

                  这是我的 js 代码:

                  and this is my js code:

                   var canvas = document.getElementById('col221');
                              var context = canvas.getContext('2d');
                              context.beginPath();
                              context.moveTo(290, -100);
                              context.lineTo(290, 80);
                              context.stroke();
                  

                  请帮忙解决这个问题!
                  谢谢你!

                  please help for this problem!
                  thank u!

                  推荐答案

                  我不知道你为什么选择使用多个画布,但我已经在我的 小提琴在这里.

                  I'm not sure why you're opting to use multiple canvases but I have implemented a more generic solution in my fiddle here.

                  它使用两个循环定义为:

                  It uses two loops defined as:

                  for (var i = 0; i < rows; i++) {
                      for (var j = 0; j < cols; j++) {
                          ...
                      }
                  }
                  

                  这使它更加灵活,因为您可以在脚本中指定行和列.剩下的就是知道你的偏移量是多少!

                  This makes it more flexible as you can specify the rows and columns in the script. The rest is just knowing what your offsets are!

                  实现圆的代码基本没有改动,但有趣的是什么时候画一条线:

                  The code to implement the circle is largely untouched, but the fun is when to draw a line:

                  if (j != cols - 1) {
                      // Draw horizontal line
                      var hLineX = x + radius;
                      var hLineY = y;
                      context.moveTo(hLineX, hLineY);
                      context.lineTo(hLineX + distance + lineWidth, hLineY);
                  }
                  if (i > 0) {
                      // Draw vertical line
                      var vLineY = y - radius - distance - lineWidth;
                      context.moveTo(x, vLineY);
                      context.lineTo(x, vLineY + distance + lineWidth);
                  }
                  

                  这就是说你应该在每一列上画一条水平线,除了最后一列.这工作得很好,即使你有一行一列.您还想在多行时绘制一条垂直线,并将其偏移,使其看起来像连接到前一行.

                  All this is saying is that you should draw a horizontal line on every column except for the last one. This works pretty well, even when you have one row by one column. You also want to draw a vertical line when there is more than one row, and offset it so it looks like it joins onto the previous row.

                  注意到你有不同的 x 和 y 距离,所以我修改了 fiddle 来解释这个.

                  Noticed you have different x and y distances, so I modified the fiddle to account for this.

                  这篇关于在画布中的圆圈之间绘制垂直线的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  How does object-fit work with canvas element?(对象适合如何与画布元素一起使用?)
                  How to make rooftext effect and valley text effect in HTML5 (or Fabric.js)(如何在 HTML5(或 Fabric.js)中制作屋顶文字效果和山谷文字效果)
                  Draw border around nontransparent part of image on canvas(在画布上的图像不透明部分周围绘制边框)
                  dragging and resizing an image on html5 canvas(在 html5 画布上拖动图像并调整其大小)
                  What#39;s the difference between a boolean as primitive and a boolean as property of an object?(作为原始对象的布尔值和作为对象属性的布尔值有什么区别?)
                  I want to do animation of an object along a particular path(我想沿特定路径对对象进行动画处理)

                  <i id='Ht7Bk'><tr id='Ht7Bk'><dt id='Ht7Bk'><q id='Ht7Bk'><span id='Ht7Bk'><b id='Ht7Bk'><form id='Ht7Bk'><ins id='Ht7Bk'></ins><ul id='Ht7Bk'></ul><sub id='Ht7Bk'></sub></form><legend id='Ht7Bk'></legend><bdo id='Ht7Bk'><pre id='Ht7Bk'><center id='Ht7Bk'></center></pre></bdo></b><th id='Ht7Bk'></th></span></q></dt></tr></i><div id='Ht7Bk'><tfoot id='Ht7Bk'></tfoot><dl id='Ht7Bk'><fieldset id='Ht7Bk'></fieldset></dl></div>

                1. <small id='Ht7Bk'></small><noframes id='Ht7Bk'>

                      <legend id='Ht7Bk'><style id='Ht7Bk'><dir id='Ht7Bk'><q id='Ht7Bk'></q></dir></style></legend>
                        <bdo id='Ht7Bk'></bdo><ul id='Ht7Bk'></ul>

                          1. <tfoot id='Ht7Bk'></tfoot>

                              <tbody id='Ht7Bk'></tbody>