繁体   English   中英

HTML Canvas为已绘制的所有内容更新笔触颜色

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM