- 綠色版查看
- 綠色版查看
- 綠色版查看
- 綠色版查看
- 綠色版查看
對(duì)于沒(méi)做過(guò)這方面程序的人,最好奇的可能就是,你用Graphics類(lèi)畫(huà)出一個(gè)東西后,怎么樣才能重新選中、移動(dòng)、編輯它?
以畫(huà)一個(gè)矩形為例來(lái)說(shuō)明,你如果用Graphics類(lèi)在一個(gè)控件(Control)上畫(huà)了個(gè)矩形,并且把矩形的起點(diǎn)坐標(biāo)、大小等數(shù)據(jù)記住,那么用戶(hù)在控件上單擊的時(shí)候,你就能判斷出用戶(hù)是否在矩形上單擊了,如果是,就表示矩形被選中了,如果用戶(hù)同時(shí)還移動(dòng)了鼠標(biāo),那么就可以根據(jù)移動(dòng)的距離重新計(jì)算矩形的起點(diǎn)坐標(biāo),然后重新畫(huà)這個(gè)矩形。
這就是愛(ài)搜呀畫(huà)圖板用的基本方法。在內(nèi)部記住各種形狀(線段、矩形、橢圓等)的起點(diǎn)坐標(biāo)、大小、顏色等等信息,在用戶(hù)移動(dòng)、旋轉(zhuǎn)形狀后,要隨即更新這些信息,并重新繪制形狀。
其它的難點(diǎn)還有不少,比如用戶(hù)將圖像放大,并在放大的視圖上繪制新的形狀,這時(shí)候的處理跟未放大時(shí)有什么不同?再如撤銷(xiāo)(后退一步)功能,怎么樣放棄最后一次操作,返回之前的狀態(tài)?放大和撤銷(xiāo)這兩個(gè)功能現(xiàn)在還為實(shí)現(xiàn),但是大致思路已經(jīng)有了。
做這個(gè)程序有兩個(gè)目的,一是把功能寫(xiě)全后,用我之前寫(xiě)的一個(gè)控件庫(kù)來(lái)做其UI,然后這個(gè)畫(huà)圖程序作為控件庫(kù)的應(yīng)用例子。二是做一個(gè)實(shí)用的截圖、畫(huà)圖程序,盡量仿mspaint來(lái)做,但要在個(gè)方面有所增強(qiáng)。當(dāng)然了目前愛(ài)搜呀畫(huà)圖板還很簡(jiǎn)單,沒(méi)有截圖功能、不能粘貼位圖、不能編輯文字等等,后面會(huì)繼續(xù)完善。
您的評(píng)論需要經(jīng)過(guò)審核才能顯示
有用
有用
有用