我正面临一个明显已知的问题,其中HTML画布中的线条无法禁用抗锯齿(例如this question提到这只能使用context.imageSmoothingEnabled= false
而不是用于线条的图像)。克服鼠标事件的画布线上的抗锯齿效果
我不知道是否有任何更新,如果有可能绘制一个清晰的(即使“像素化”)线?我所需要的就是当使用普通“铅笔”工具(参见下面的左侧行程)时,MS Paint可以实现,而不是更平滑的“刷子”类型(参见右侧行程)。
这是一个问题,因为我正在尝试设置鼠标事件,让我行的确切的颜色,但与周围的实际颜色抗锯齿,它之前返回一些不想要的颜色(S)光标到达线的中心部分。
有人可以确认是否真的没有办法强制画布中的“铅笔”式中风?如果是这样,是否有一个简单的解决方法,例如“切断”中风的边缘?
巧妙使用SVG滤镜的 – Kaiido
谢谢,这是相当不错的!但我仍然有两个问题。 1)在过滤画布上使用my mousemove事件时,此过滤器会导致以下错误:未捕获的DOMException:未能在CanvasRenderingContext2D上执行'getImageData':画布已被交叉源数据污染。是否可以避免这个交叉来源?也许通过加载SVG xml不同,然后使用'url(#crisp)'? 2)该线很脆,但不完全。是否可以参数化多少阿尔法过滤? – sc28
我检查了Chrome通过使用SVG过滤器在输出图像上提高了安全性错误。 (FireFox没有问题)因此,您可以通过编辑像素值而不是SVG过滤器来删除Alpha值。 – defghi1977