今天做了一个要用画布的东西,其实之前就用过,但是都怎么精细,今天遇到了一个lineWidth=1,strokeStyle=black时线条宽度为二,颜色也不是黑色的问题,查了一点资料,现在记录一下。
因为每次canvas在绘制线条时都会有一个中线,在中线两次绘制相同宽度也就是lineWidth一半宽度的线条,所以举个栗子= = 需要在画布x轴坐标为(10,0)绘制一条平行于y轴,宽度为1px的线,这个时候其实中线的位置是在x = 10px的位置,而且canvas绘图的最小单位是1px所以这条线就是9px到11px的2px的一条线。
解决办法就是让这个中线正好在需要绘制1px的位置的中点也就是x = 9.5px的位置。