Discussion:
[問題] 有關畫圖的問題~
(时间太久无法回复)
REDKING
2007-04-14 05:13:04 UTC
Permalink
各位板友好~
有個問題想要問
事情是這樣的


我想要寫一個程式是每dragged一下
就會劃一條直線直到released後
畫面會剩下滑鼠最後released的那條直線
EX:
滑鼠pressed的第一點位置(0,50)
當中dregged到了(20,10)跟(50,40)
所以此時會有兩條直線同時在畫布中

"(0,50)(20,10)""(0,50)(50,40)"

最後滑鼠放開在(60,70)的時候
希望程式可以只剩下最後這條"(0,50)(60,70)"
請問要怎麼寫呢?

我現在是寫成無論dregged還是released出來的線
都還是會在畫布上面
想要請問該如何在released的時候也將先前的直線給清除呢?


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.129.124.98
NULL
2007-04-15 09:12:54 UTC
Permalink
※ 引述《REDKING (REDKING)》之銘言:
: 各位板友好~
: 有個問題想要問
: 事情是這樣的
: 我想要寫一個程式是每dragged一下
: 就會劃一條直線直到released後
: 畫面會剩下滑鼠最後released的那條直線
: EX:
: 滑鼠pressed的第一點位置(0,50)
: 當中dregged到了(20,10)跟(50,40)
: 所以此時會有兩條直線同時在畫布中
: "(0,50)(20,10)""(0,50)(50,40)"
: 最後滑鼠放開在(60,70)的時候
: 希望程式可以只剩下最後這條"(0,50)(60,70)"
: 請問要怎麼寫呢?
: 我現在是寫成無論dregged還是released出來的線
: 都還是會在畫布上面
: 想要請問該如何在released的時候也將先前的直線給清除呢?

你應該會有一個data structure紀錄所有線的資訊..

而你的線必須記錄端點資訊 ... 接著在你 drag 和 release時

檢查是不是有其他線的起點和終點跟新的現一致 ... 這樣就可以囉

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.184.105
REDKING
2007-04-15 14:08:56 UTC
Permalink
※ 引述《***@bbs.ntou.edu.tw (***@hotmail.com)》之銘言:
: ※ 引述《***@ptt.cc (REDKING)》之銘言:
: > 滑鼠pressed的第一點位置(0,50)
: > 當中dregged到了(20,10)跟(50,40)
: > 所以此時會有兩條直線同時在畫布中
: > "(0,50)(20,10)""(0,50)(50,40)"
: > 最後滑鼠放開在(60,70)的時候
: > 希望程式可以只剩下最後這條"(0,50)(60,70)"
: > 請問要怎麼寫呢?
: > 我現在是寫成無論dregged還是released出來的線
: > 都還是會在畫布上面
: > 想要請問該如何在released的時候也將先前的直線給清除呢?
: 基本上就是要紀錄第一點跟放開的點
: 最後只要讓他不停的repaint()

您好^^
先謝謝您回答我的問題喔~

我現在的情況是已經可以畫出所有drag中的線
但在我release的時候全部的線都還是在畫布上(包括drag跟release)
目標是要drag的線在release的時候消失
最後只留下release的那條線

或是說有什麼方法可以將畫布的內容都清空呢?

還是先謝謝您的回答喔 真的很感謝^^

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.129.127.105
Ryan
2007-04-15 14:20:07 UTC
Permalink
※ 引述《REDKING (REDKING)》之銘言:
: ※ 引述《***@bbs.ntou.edu.tw (***@hotmail.com)》之銘言:
: : 基本上就是要紀錄第一點跟放開的點
: : 最後只要讓他不停的repaint()
: 您好^^
: 先謝謝您回答我的問題喔~
: 我現在的情況是已經可以畫出所有drag中的線
: 但在我release的時候全部的線都還是在畫布上(包括drag跟release)
: 目標是要drag的線在release的時候消失
: 最後只留下release的那條線
: 或是說有什麼方法可以將畫布的內容都清空呢?
: 還是先謝謝您的回答喔 真的很感謝^^


public void clearRect(int x,int y,int width,int height)

Draws a solid rectangle with the speified Width and Height
in the current background.

不知道你要的是不是這個,希望能幫到你

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.216.83.24

继续阅读narkive:
Loading...