[英]HTML Canvas updates stroke color for everything that's already been drawn
我有一个带有颜色选择器的界面,该界面允许用户更改笔触颜色,但是发生的是,我开始绘制-它绘制黑色。 我将笔触更改为红色,然后进行绘制-黑色的所有内容现在都变为红色。 我没有丝毫的线索。
这是我认为相关的代码。 都在coffeescript类中
canvasMouseDown: (event) ->
@offset = $(@canvas).offset()
_x = @offset.left
_y = @offset.top
@ctx.moveTo event.pageX - _x, event.pageY - _y
# does nothing more than save the current canvas via getImageData() to allow an undo
@saveUndoState()
@ctx.strokeStyle = @attr.stroke
@canvas.bind "mousemove.canvasDraw", (e) =>
x = e.pageX - _x
y = e.pageY - _y
@ctx.lineTo x, y
@ctx.stroke()
initCanvas: ->
@ctx = @canvas[0].getContext '2d'
$(@canvas).bind "mousedown.canvasDraw", (e) =>
@canvasMouseDown e
$(@canvas).bind "mouseup.canvasDraw", (e) =>
@canvasMouseUp e
等等。 忘记在mousedown上包括ctx.beginPath,在mouseup上包括ctx.closePath
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.