思路: 設變數bdraw ,按下時滑鼠的相對座標 ,rect為roi的矩形大小
滑鼠按下時,bdraw=true ,滑鼠移動時計算rect
滑鼠抬起時 bdraw=false,然後再paint中畫矩形就ok
//繪圖
private
void
dispwnd_picbox_paint
(object sender,
painteventargs e)
//使用paint畫矩形
}
//滑鼠按下
private
void
dispwnd_picbox_mousedown
(object sender,
mouseeventargs e)
}
//滑鼠移動
private
void
dispwnd_picbox_mousemove
(object sender,
mouseeventargs e)
if(m_bdraw)
}
//滑鼠抬起
private
void
dispwnd_picbox_mouseup
(object sender,
mouseeventargs e)
}
對於複雜的可以採用多個圖層來操
參考:這個一兩個月前做過,我具體的做法就是使用3個"圖層",也就是3個bitmap物件,乙個是用來顯示的,叫viewbtm(就是我們看到的),乙個是用來給graphics操作的,叫tempbtm,第三個是用來裝載之前畫的東西的,叫midbtm,因為就像你說的,防止之前畫的內容給clear掉。
步驟是:graphics在tempbtm上操作,mousemove()中不斷畫,不斷擦除,放開滑鼠後,就將內容輸出到viewbtm,下次按下滑鼠畫是,先將viewbtm的內容複製到midbtm,然後又對tempbtm進行操作,鬆開滑鼠後又將內容輸出到viewbtm。
我可能說得不清楚,反正就是為了跟2樓差不多,但為了防止之前的內容給擦掉,你應該沒此滑鼠移動,那個舉行和之前所畫的東西都要全部輸出出來。我有乙個類,你有興趣要就給我發email:[email protected]。
在osgEarth上畫同心圓
二.樣式表建立部分 申明樣式 osgearth style style 海拔符號設定,即貼地設定 style.getorcreate clamping osgearth symbology altitudesymbol clamp absolute style.getorcreate techniq...
c 用PictureBox開啟圖片
剛剛學習了同事編寫的在窗體中開啟圖片的程式碼,自己也試著做了一例子,以利於學習。例子如下 在下列圖片框中雙擊picturebox插入圖片,並下圖片下方顯示圖片資訊。如下圖結果。程式碼如下 using system.io namespace newtest void pcbpic doubleclic...
c 滑鼠移動帶邊框的pictureBox
point orignalpoint new point 記錄滑鼠按下時的座標 rectangle orignalposition 記錄邊框 private void picturebox mousedown object sender,mouseeventargs e private void p...