色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript 畫箭頭

錢浩然1年前7瀏覽0評論

JavaScript是一種廣泛應用于網頁制作的編程語言,它可以實現很多網頁交互的功能,比如表單驗證、滑動門效果、響應式布局等等。而今天我們要討論的是,如何使用JavaScript來畫箭頭。

畫箭頭在網頁制作中應用廣泛,比如在地圖API中用來標示路線的起點和終點,或者在PPT制作中用來標明方向和流程等等。下面我們就來看看如何使用JavaScript來實現畫箭頭的效果。

function drawArrow(context, fromX, fromY, toX, toY, theta, headlen, width, color) {
// 計算箭頭角度theta及箭頭長度headlen
theta = typeof (theta) != 'undefined' ? theta : 30;
headlen = typeof (headlen) != 'undefined' ? headlen : 10;
width = typeof (width) != 'undefined' ? width : 1;
color = typeof (color) != 'undefined' ? color : '#000';
// 計算箭頭起點和終點坐標
var angle = Math.atan2(fromY - toY, fromX - toX) * 180 / Math.PI,
angle1 = (angle + theta) * Math.PI / 180,
angle2 = (angle - theta) * Math.PI / 180,
topX = headlen * Math.cos(angle1),
topY = headlen * Math.sin(angle1),
botX = headlen * Math.cos(angle2),
botY = headlen * Math.sin(angle2),
arrowX,
arrowY;
context.beginPath();
context.moveTo(fromX, fromY);
context.lineTo(toX, toY);
arrowX = toX + topX;
arrowY = toY + topY;
context.moveTo(arrowX, arrowY);
context.lineTo(toX, toY);
arrowX = toX + botX;
arrowY = toY + botY;
context.lineTo(arrowX, arrowY);
context.strokeStyle = color;
context.lineWidth = width;
context.stroke();
}

上述代碼中定義了一個drawArrow()函數,這個函數可以傳入6個參數,分別是canvas上下文、箭頭起點的x和y坐標、箭頭終點的x和y坐標、箭頭角度、箭頭長度、箭頭寬度和箭頭顏色。函數內部計算了箭頭的起點和終點坐標,通過canvas API繪制了箭頭。

使用這個函數也非常簡單,只需要調用它即可:

var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
drawArrow(ctx, 50, 50, 200, 50);

上述代碼首先獲取了canvas元素及其上下文,然后調用drawArrow()函數,傳入canvas上下文和箭頭起點和終點的坐標。在canvas中繪制箭頭。效果如下:

使用drawArrow()函數畫箭頭可以靈活地控制箭頭的起點和終點、大小、角度等屬性,具體效果可以根據實際需求進行定制,非常實用。