HTML5画布 - 使用绘画应用程序的不透明度问题

Ami*_*gin 1 html5 canvas paint line stroke

我正在尝试使用Canvas编写一个绘图应用程序.它的工作方式是按下鼠标时的连接线.当线条不透明时效果很好,但是当我更改alpha参数时,我遇到了问题.

我尝试了两种选择:

一个.当鼠标第一次关闭时路径开始,当鼠标再次启动时路径结束:鼠标的每次移动都会调用stroke()函数.因为这条线是透明的,所以整个路径的开始将变得不透明而结尾不会,因为stroke()被多次调用,并且它一次又一次地成为整个路径.

湾 路径开始和结束鼠标的每次移动:线条在整个路径上都是透明的,但每条路径和路径之间的匹配点不太透明(因为它们由两条线组成).所以整条路都不稳固.

我得到一个好结果的唯一方法是当我再次调用鼠标时调用stroke().然后它很好地抚摸整个路径,但是在实际绘制它时我什么都看不见.

我能做什么?

谢谢

bra*_*jam 6

我认为你最好的办法是创建一个第二个覆盖画布,它在你的主画布上定位(使用绝对定位).

在鼠标拖动期间,对于每个 mousemove事件,使用clearRect()清除叠加画布,然后绘制整个笔画.

获得a后mouseup,清除叠加层并将整个笔划绘制到主画布上.

这是一个实例:

http://jsfiddle.net/rnNFB/1/