<html>
<body style="margin:10px;">
<canvas id="myCanvas" width="500" height="500" style="border:1px solid #d3d3d3;">
</canvas>
</body>
<script language="javascript" type="text/javascript">
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var centerX = 400;
var centerY = 400;
var radius = .5;
context.beginPath(400,400);
context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);
context.fillStyle = 'blue';
context.fill();
context.lineWidth = 1;
context.strokeStyle = '#003300';
context.stroke();
context.beginPath();
context.moveTo(50, 250);
context.bezierCurveTo(50, 250, 50, 250, 50, 250);
context.bezierCurveTo(90, 210, 90, 210, 90, 210);
context.bezierCurveTo(130, 90, 130, 90, 130, 90);
context.bezierCurveTo(260, 240, 260, 240, 260, 240);
context.bezierCurveTo(255, 400, 255, 400, 255, 400);
context.closePath();
context.lineWidth = 1;
context.strokeStyle = 'green';
context.stroke();
</script>
\t
\t
\t
\t
</html>
第一次張貼在這裏,但這個網站已經幫助了我很多與其他灰色地帶我有!
我想確定從畫布上的點到形狀邊緣的距離。形狀將是不規則的,例如,如果它的三角形我不認爲如果距離公式超出三角形的邊緣,它將不起作用。
我有點沮喪,因爲這可能是我的項目的垮臺。任何開放的想法,將不勝感激!
謝謝
編輯:這裏就是我說的,在這個例子中,我想知道這是多少像素從共同ORD 400,400對象的最近點的例子。但對於我的項目,無論這個點在哪裏,我都希望能夠測量到物體的最近點。
我知道這是很多要問,但我想我會給它一個鏡頭!
感謝您提前回復!
形狀是否都是多邊形 - 由線段組成?當你說「距離」時,你的意思是指形狀還是別的什麼?如果對兩者都是肯定的,你可以測試多邊形的每一條線段並[找到距離該點最小的距離](http:// stackoverflow。COM /問題/ 29021887 /拖拽點-沿着矢量與 - 小鼠/ 29023665#29023665)。 – markE
邊緣x,y座標將根據所使用的多邊形和畫布方法而變化....您可以發佈代碼示例嗎? – KpTheConstructor
據我所知(在所有誠實中有點生鏽),因爲Canvas使用光柵(像素)繪圖,所以一旦你畫出一個形狀就會被遺忘,當然,你可以比較每個像素的顏色,但這將是昂貴的。最好的方法是跟蹤你畫到畫布上的每一個形狀,並與這些形狀進行比較,至於數學背後的真正取決於你的使用情況 –