Formas de lineas: ancho y extremos
Una linea puede ser ancha, estrecha, de colores, con acabados redondeados, uniones... Existen varias propiedades aplicables a cualquier linea que sea trazada por un lápiz. En estos ejemplos irás viendo cuales son.
En el primer ejemplo tienes el grosor y los acabados. El grosor es la propiedad lineWidth, un valor numérico que indica el grosor de la linea en pixels. Puedes consultarlo para usarlo o puedes asignarle un valor, como todas las propiedades.
El acabado de una linea recta puede se redondeada o plano. La diferencia se ve mejor usando lineas gruesas como en el ejemplo. Esta propiedad se denomina lineCap y los valores posibles son: butt, round, square.
Más que explicar como es cada una lo mejor es verlas en funcionamiento. En el ejemplo tienes los tres casos
Como ves: definimos cada linea con su lineCap y dibujamos. Es necesario usar beginPath() para reiniciar el trazado, si no se superponen.
Uniones de lineas
En el apartado anterior has visto como controlar el extremo de una linea, en este vas a ver como se pueden unir cuando se encuentrasn. La propiedad es lineJoin y permite tres valores: bevel, round, mitter. En el caso del mitter tienes una propiedad más la longitud de la unión, mitterLimit, si la unión es más ancha se convierte en biselada (bevel). No tiene demasiada utilidad.