愛搜呀畫圖板可以幫助用戶實(shí)現(xiàn)直線、折線、矩形、橢圓、指示箭頭等規(guī)則形狀,它是用C#/Winform/GDI+實(shí)現(xiàn)的類似mspaint的畫圖程序,其制作的形狀被繪制后,不會(huì)像mspaint那樣,就動(dòng)不了了,而是可以再次被編輯,包括旋轉(zhuǎn)、縮放等。
做這個(gè)程序有兩個(gè)目的,一是把功能寫全后,用我之前寫的一個(gè)控件庫(kù)來做其UI,然后這個(gè)畫圖程序作為控件庫(kù)的應(yīng)用例子。
二是做一個(gè)實(shí)用的截圖、畫圖程序,盡量仿mspaint來做,但要在個(gè)方面有所增強(qiáng)。
當(dāng)然了目前愛搜呀畫圖板還很簡(jiǎn)單,沒有截圖功能、不能粘貼位圖、不能編輯文字等等,后面會(huì)繼續(xù)完善。
對(duì)于沒做過這方面程序的人,最好奇的可能就是,你用Graphics類畫出一個(gè)東西后,怎么樣才能重新選中、移動(dòng)、編輯它?
以畫一個(gè)矩形為例來說明,你如果用Graphics類在一個(gè)控件(Control)上畫了個(gè)矩形,并且把矩形的起點(diǎn)坐標(biāo)、大小等數(shù)據(jù)記住,那么用戶在控件上單擊的時(shí)候,你就能判斷出用戶是否在矩形上單擊了,如果是,就表示矩形被選中了,如果用戶同時(shí)還移動(dòng)了鼠標(biāo),那么就可以根據(jù)移動(dòng)的距離重新計(jì)算矩形的起點(diǎn)坐標(biāo),然后重新畫這個(gè)矩形。
這就是愛搜呀畫圖板用的基本方法。
在內(nèi)部記住各種形狀(線段、矩形、橢圓等)的起點(diǎn)坐標(biāo)、大小、顏色等等信息,在用戶移動(dòng)、旋轉(zhuǎn)形狀后,要隨即更新這些信息,并重新繪制形狀。其它的難點(diǎn)還有不少,比如用戶將圖像放大,并在放大的視圖上繪制新的形狀,這時(shí)候的處理跟未放大時(shí)有什么不同?
再如撤銷(后退一步)功能,怎么樣放棄最后一次操作,返回之前的狀態(tài)?
放大和撤銷這兩個(gè)功能現(xiàn)在還為實(shí)現(xiàn),但是大致思路已經(jīng)有了。
關(guān)于騰牛 | 聯(lián)系方式 | 發(fā)展歷程 | 版權(quán)聲明 | 下載幫助(?) | 廣告聯(lián)系 | 網(wǎng)站地圖 | 友情鏈接
Copyright 2005-2022 QQTN.com 【騰牛網(wǎng)】 版權(quán)所有 鄂ICP備2022005668號(hào)-1 | 鄂公網(wǎng)安備 42011102000260號(hào)
聲明:本站非騰訊QQ官方網(wǎng)站 所有軟件和文章來自互聯(lián)網(wǎng) 如有異議 請(qǐng)與本站聯(lián)系 本站為非贏利性網(wǎng)站 不接受任何贊助和廣告