CanvasRenderingContext2D.lineJoin
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since иÑÐ»Ñ 2015 г..
СвойÑÑво CanvasRenderingContext2D.lineJoin пÑедоÑÑавлÑемое Canvas 2D API опÑеделÑÐµÑ ÑоÑÐ¼Ñ Ð²ÐµÑÑин в коÑоÑÑÑ
линии ÑÑ
одÑÑÑÑ. Ðлина линий должна бÑÑÑ Ð½ÐµÐ½Ñлевой.
СмоÑÑиÑе Ñакже Ð³Ð»Ð°Ð²Ñ Applying styles and color в Canvas Tutorial.
ÐÑимеÑание:
Lines can be drawn with the stroke(), strokeRect(), and strokeText() methods.
СинÑакÑиÑ
ctx.lineJoin = "bevel" || "round" || "miter";
ÐнаÑениÑ
СвойÑÑво Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑинимаÑÑ ÑÑи знаÑениÑ: round, bevel и miter. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÑановлено знаÑение miter. ÐмейÑе ввидÑ, ÑÑо ÑвойÑÑво никак не повлиÑÐµÑ Ð½Ð° линии напÑавленнÑе в Ð¾Ð´Ð½Ñ ÑÑоÑонÑ, поÑÐ¾Ð¼Ñ ÑÑо не бÑÐ´ÐµÑ Ñоздана зона пеÑеÑеÑениÑ.

round-
СкÑÑглÑÐµÑ ÑÐ³Ð»Ñ Ð·Ð° ÑÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑекÑоÑа Ñ ÑенÑÑом в ÑоÑке пеÑеÑеÑÐµÐ½Ð¸Ñ Ð»Ð¸Ð½Ð¸Ð¹ и ÑадиÑÑом ÑавнÑм ÑолÑине линии.
bevel-
"СÑезаеÑ" Ñгол, ÑиÑÑÑ ÑÑеÑголÑник Ñ Ð²ÐµÑÑинами в ÑоÑке пеÑеÑеÑÐµÐ½Ð¸Ñ Ð»Ð¸Ð½Ð¸Ð¹ и кÑÐ°Ð¹Ð½Ð¸Ñ ÑоÑÐºÐ°Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ линии.
miter-
СоединÑÐµÑ Ð»Ð¸Ð½Ð¸Ð¸ в одной ÑоÑке, ÑаÑÑиÑÑÑ Ð´Ð»Ñ ÑÑого Ð¸Ñ Ð³ÑаниÑÑ Ð¸ заполнÑÑ Ð¿ÑоÑÑÑанÑÑво Ñомбами . УÑÑановка ÑÑого ÑÑÑекÑа оÑÑÑеÑÑвлÑеÑÑÑ ÑвойÑÑвом
miterLimit.
ÐÑимеÑÑ
>ÐÑполÑзование ÑвойÑÑва lineJoin
Ðиже пÑедÑÑавлен пÑоÑÑой ÑÑÐ°Ð³Ð¼ÐµÐ½Ñ ÐºÐ¾Ð´Ð°, иÑполÑзÑÑÑий lineJoin Ð´Ð»Ñ ÑкÑÑÐ³Ð»ÐµÐ½Ð¸Ñ Ð¼ÐµÑÑа ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð»Ð¸Ð½Ð¸Ð¹.
HTML
<canvas id="canvas"></canvas>
JavaScript
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
ctx.lineWidth = 20;
ctx.lineJoin = "round";
ctx.beginPath();
ctx.moveTo(20, 20);
ctx.lineTo(190, 100);
ctx.lineTo(280, 20);
ctx.lineTo(280, 150);
ctx.stroke();
Result
РазниÑа Ð¼ÐµÐ¶Ð´Ñ Ð·Ð½Ð°ÑениÑми lineJoin
ÐÑÐ¸Ð¼ÐµÑ Ð½Ð¸Ð¶Ðµ наглÑдно демонÑÑÑиÑÑÐµÑ ÑазниÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð·Ð½Ð°ÑениÑми ÑвойÑÑва lineJoin.
var ctx = document.getElementById("canvas").getContext("2d");
var lineJoin = ["round", "bevel", "miter"];
ctx.lineWidth = 10;
for (let i = 0; i < lineJoin.length; i++) {
ctx.lineJoin = lineJoin[i];
ctx.beginPath();
ctx.moveTo(-5, 5 + i * 40);
ctx.lineTo(35, 45 + i * 40);
ctx.lineTo(75, 5 + i * 40);
ctx.lineTo(115, 45 + i * 40);
ctx.lineTo(155, 5 + i * 40);
ctx.stroke();
}
СпеÑиÑикаÑии
| Specification |
|---|
| HTML > # dom-context-2d-linejoin-dev > |
СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами
СмоÑÑиÑе Ñакже
- ÐнÑеÑÑейÑ, пÑедоÑÑавлÑÑÑий данное ÑвойÑÑво:
CanvasRenderingContext2D CanvasRenderingContext2D.lineCapCanvasRenderingContext2D.lineWidth