有“长线”和“短线”两条线路。
<svg width="120" height="120" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<line id="LongLine" x1="20" y1="350" x2="350" y2="50" stroke-width="2" stroke="black"/>
<line id="ShortLine" x1="20" y1="350" x2="0" y2="0" stroke="#ff00ff" stroke-width="10" />
</svg>Run Code Online (Sandbox Code Playgroud)
<svg width="120" height="120" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg">
<line id="LongLine" x1="20" y1="350" x2="350" y2="50" stroke-width="2" stroke="black"/>
<line id="ShortLine" x1="20" y1="350" x2="185" y2="200" stroke="#ff00ff" stroke-width="10" />
</svg>Run Code Online (Sandbox Code Playgroud)
换句话说,“LongLine”的x1、y1、x2、y2和“ShortLine”的x1、y1是已知的。
需要的是“ShortLine”的 x2、y2,但要使两条线的角度保持相同。
这是我的错误方法: https: //jsfiddle.net/rmLdm15z/8/
提前致谢。
我尝试复制画布的某个部分,然后将复制的部分写入图像。这是我的(错误的)方法:
var c = document.getElementById('MyCanvas'),
ctx = c.getContext('2d');
var ImageData = ctx.getImageData( 25, 25, 150, 150 );
var MyImage = new Image();
MyImage.src = ImageData ; // <-- This is wrong, but I mean something like this
Run Code Online (Sandbox Code Playgroud)
你知道我该怎么做吗?先感谢您。
ps:我不想复制整个画布,而是复制其中的一部分。
我已经实现了一个javascript程序,可以绘制任意三角形,并计算角和边长。这是一个我试图实现的程序:https
: //www.mathsisfun.com/proof180deg.html
遗憾的是我无法以三角形的角度绘制弧线!

也许通过 HTML canvas arc() 方法会实现。例如:
ctx.arc(x, y, 50, start , end);
Run Code Online (Sandbox Code Playgroud)
xy 位置是已知的。我正在寻找角度的“开始”和“结束”。
提前致谢。
下面是一个带有一些HTML代码的div:
<div id="MyDiv" contentEditable="true">
<p>This is the first P</p>
<p id="MyPId">
<ol>
<li>Text 1</li>
<li>Text 2</li>
</ol>
</p>
</div>
Run Code Online (Sandbox Code Playgroud)
在运行期间,我需要HTML代码.但就像在DIV中一样,正确!下面的内容给我一个错误的结果DEMO:
var MyHTML = $('#MyDiv').html();
alert( MyHTML );
Run Code Online (Sandbox Code Playgroud)
它的结果将如下:
<p>This is the first P</p>
<p id="MyPId">
</p><ol>
<li>Text 1</li>
<li>Text 2</li>
</ol>
<p></p>
Run Code Online (Sandbox Code Playgroud)
仔细看,这不是我在DIV中的先前代码,也缺少"p".任何的想法?谢谢.