我想知道繪圖應用程序如何在沒有空白的情況下繪製鼠標關閉的整個過程。我的意思是,例如,如果該程序只在鼠標的X,Y座標上繪製圓圈,那麼如果鼠標過於虛擬,看起來就像是一堆小圓圈,而不是一條不錯的連續線。如何在不經常在0.001秒前的鼠標位置和現在的鼠標位置之間繪製一條簡短的直線的情況下完成此任務。 謝謝在繪圖應用程序中不斷繪圖
回答
它不能而不不斷吸取當前鼠標點和前一點,這就是爲什麼這是繪圖程序一般做之間做一個行來完成。
愛好者繪圖程序將適合彎曲線以前的多個點來實現更自然的繪圖筆畫,但原理是相同的。
更新:根據評論,看起來你有一個計時器涉及您的繪圖代碼。這肯定是不必要的,因爲只要移動鼠標,應用程序就會生成一個MouseMove事件,並且可以使用該事件繪製下一行。
行,或某種[曲線](http://en.wikipedia.org/wiki/B%C3%A9zier_curve) – 2010-04-27 20:11:24
「Bezier」=「適合彎曲線條到多個點」。 :) – MusiGenesis 2010-04-27 20:15:22
創建這些數組作爲指令來生成行,然後將它們推入每個操作的隊列,然後彈出它們以進行撤消是一個好主意嗎? – jmasterx 2010-04-27 20:16:45
你可以畫一個短的曲線線之間的鼠標是0.001秒前和鼠標現在。
鼠標位置不連續,如果移動速度比慢得多,則會得到不連續的離散點。您需要使用您的首選方法在這些點之間進行插值。
好吧,所以我使用計時器和繪製短直線的方式是正確的嗎? – jmasterx 2010-04-27 20:10:19
你可以使用貝塞爾曲線http://en.wikipedia.org/wiki/B%C3%A9zier_curve來獲得一些好的效果。 – 2010-04-27 20:13:10
你不需要計時器。您只需要記錄以前的鼠標位置,然後畫一條線到當前的鼠標位置。如果你正在做更有趣的插值(比如立方體),你只需要跟蹤過去的更多點。 – 2010-04-27 20:13:48
- 1. Java繪圖應用程序
- 2. Qt繪圖應用程序
- 3. Java Swing繪圖應用程序不繪圖
- 4. HTML 5畫布繪圖應用程序不繪圖
- 5. 在繪圖應用程序中撤消
- 6. iPhone繪圖應用程序(不是OpenGL)
- 7. 繪圖應用程序 - 繪製虛空不起作用
- 8. 繪圖程序
- 9. 中東繪圖應用程序
- 10. Android中的繪圖應用程序
- 11. 在線繪圖應用程序
- 12. 製作HTML繪圖應用程序可節省您的繪圖
- 13. 畫布繪畫應用程序不是繪圖(Javascript)
- 14. 編程簡單繪圖應用程序
- 15. 繪圖應用程序如何在android手機內存中保存繪圖
- 16. 不斷更新GUI繪圖
- 17. 使用OpenGL/Openframeworks繪圖應用程序
- 18. 繪圖應用程序MAINMENU採用Delphi
- 19. 使用SurfaceView繪圖應用程序
- 20. 繪圖應用程序性能
- 21. 繪圖應用程序 - 曲線擬合
- 22. Kivy簡單繪圖應用程序
- 23. Cocos2d繪圖應用程序製作線
- 24. 繪圖應用程序撤消按鈕
- 25. 繪圖應用程序,如何清除
- 26. iPhone開發 - 繪圖應用程序
- 27. Android繪圖應用程序崩潰
- 28. iPhone應用程序:繪製圖
- 29. 在Silverlight中創建繪圖/圖表應用程序的指導
- 30. 在Android應用程序中繪製蠟燭貼圖圖表
@everyone:OP詢問* brush *工具是如何工作的,而不是* line *工具 – 2010-04-27 20:13:22
@BlueRaja,謝謝,我也誤解了:) – 2010-04-27 20:15:00
@BlueRaja:是什麼讓你覺得他/她/畫筆工具? – MusiGenesis 2010-04-27 20:23:10