我在ActionScript 3中構建了一個簡單的白板應用程序。ActionScript中的大多數白板或繪畫應用程序都傾向於使用間隔,計時器,mouseMove事件或enterFrame事件來跟蹤鼠標位置,並在兩者之間繪製線條或畫筆跟蹤點。如何才能爲白板應用程序實現平滑的繪製曲線?
我想要實現的是像Photoshop一樣的程序可以在使用畫筆工具繪畫時呈現的漂亮的平滑畫線。在Photoshop中,無論您在畫布周圍移動鼠標的速度有多快,畫線總會以光滑的弧形邊緣結束。在我的應用程序中,使用前面提到的任何方法,在將畫筆渲染到舞臺上的函數調用之間總是存在等待時間。因此,以循環方式快速移動鼠標時,使用這些技術中的任何一種都可能導致尖銳的角線。
這對我來說並不令人意外,我只是不知道如何才能實現像Photoshop的畫筆工具這樣更流暢的線條。請注意,我的應用程序的畫筆大多基於形狀,不能或不能使用繪圖API繪製連續的線條。換句話說,graphics.curveTo()不是一個選項。我還將由畫筆生成的Sprites或Shapes渲染到BitmapData實例。
我通過渲染添加到顯示列表中的精靈的位圖來繪製每個間隔的「線條」。我正在使用這種技術,因爲並非所有的畫筆都是線條,但有時卻是奇怪的形狀。 – 2010-02-24 17:18:08
正確,但畫筆的路徑仍然映射到一條線 - 如果您繪製了這些路徑(作爲調試手段),則可能會幫助您,然後將真正的畫筆形狀的x,y值映射到此路徑。 – quoo 2010-02-24 21:26:34
有人可以澄清爲什麼這是downvoted? – quoo 2010-03-26 15:39:42