2013-02-20 62 views
2

那麼,如果我在HTML5 Canvas中繪製了一個具有奇數值的lineWidth值的線條,我就會看到模糊的線條,並且我知道這個問題的原因。Canvas中的線條寬度

現在,我想知道解決方案來克服這一點。我已經知道這個解決方案,而現在我無法實施。所以,請對此問題的其他解決方案發表評論。

我的解決方案: 如果你有畫以奇數寬度的線,那麼你將有0.5抵消你的線的中心向上或向下。這樣渲染將發生在像素邊界而不是中間,並且您將始終有一條銳利的線條,並且在邊緣處沒有殘留物。

讓我知道,如果不是上述

+0

[在畫布中繪製線條,但最後一個褪色]的可能重複(http://stackoverflow.com/questions/10373695/drawing-lines-in-canvas-but-the-last-ones-are-褪色) – 2013-02-20 11:32:36

+0

SVG允許您設置'crispEdges'渲染模式;不幸的是不可能的畫布:http://stackoverflow.com/questions/11353499/svg-canvas-shape-rendering-crispedges-via-javascript – 2013-02-21 02:43:07

+0

我不應該使用SVG ... – 2013-02-21 04:20:25

回答

3

令人高興的其他(和可悲的是)任何其他解決方案,您正確實施「像素捕捉」當你加/減0.5像素,讓您的線條與像素邊界對齊。與Photoshop不同,沒有選項可以自動在畫布中捕捉像素。 ...我感到你的痛苦!

+0

我會很高興,如果我爲此得到一個解決方案... – 2013-02-21 04:20:09