台灣最大程式設計社群網站
線上人數
2673
 
會員總數:246323
討論主題:189853
歡迎您免費加入會員
討論區列表 >> VB.NET >> 畫線DrawLine 後如何清除
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
畫線DrawLine 後如何清除
價值 : 200 QP  點閱數:144 回應數:7
樓主

P陳
初級顧問
15471 193
9262 2287
發送站內信

請問一下 用 DrawLine 後的線要如何清除
MouseDown 後會畫出十字線
MouseUP 後要將 十字線清掉,請問要如何清掉? 該十字線






搜尋相關Tags的文章: [ Erase DrawLine ] ,
本篇文章發表於2021-04-08 21:30
1樓
作者回應

P陳
檢舉此回應
在查找的過程中在 BLUESHOP 有看到一篇文章,應該是我要的答案

大意是 先畫到 bitmap 中
再將 bitMap 放到 graphics
----------------------------------
回到我的問題
MouseDown 在 graphics 上畫十字線 (Bitmap 的沒有被破壞掉)
MouseUP 時將 graphics 整個清掉,再將 BitMap 搬到 graphics
------------------------------------
理論上可行,但再也找不到那篇文章了,請問一下相關的關鍵字是什麼?
本篇文章回覆於2021-04-08 21:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

P陳
檢舉此回應
最後一個動作作不出來,不知如何將 Bit Map 畫的線
到PictureBox1 的Graphics


本篇文章回覆於2021-04-08 22:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

HB
檢舉此回應
加入下述語法,試試是否可行?


本篇文章回覆於2021-04-09 07:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

P陳
檢舉此回應
HB 您好:
謝謝您
Picb1.Image =nothing 之後 十字線及原先畫的圖都不見了
本篇文章回覆於2021-04-09 07:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

P陳
檢舉此回應
經過了一番努力 目前作法如這樣想
1.在 Picturebox1 的 Graphics 上畫圖
2.將 Graphics 上完成的圖存到 image 或 BitMap <---- 這塈@不出來

3.在 Picturebox1 的 MouseDown 時畫十字線
4.Picturebox1 MouseUp 時將 PictureBox1 時將 十字線及 1.時畫的圖清掉
5.將image 或 BitMap 的圖放回 Graphics <---- 這堸t合2.的動作 也作不出來
6.跳到3

請問各位 第2 及 第5的 動作指令要如何下?麻煩各位指導指導

本篇文章回覆於2021-04-09 08:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

P陳
檢舉此回應
或是另一種想法
1.在 BitMap 上畫圖 <---- 這埵釦@ 但沒辦法將圖放到 graphics ,所以不知有沒有成功


3.在 Picturebox1 的 MouseDown 時畫十字線
4.Picturebox1 MouseUp 時將 PictureBox1 時將 十字線及 1.時畫的圖清掉
5.將image 或 BitMap 的圖放回 Graphics <---- 這堸t合2.的動作 也作不出來
6.跳到3

請問各位 第1 及 第5的 動作指令要如何下?麻煩各位指導指導
本篇文章回覆於2021-04-09 08:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

P陳
檢舉此回應
目前作法如下

A1.將圖畫在 bitmap1 中
Dim BitMap1 As New Bitmap(1500, 400)
Dim Bitg1 As Graphics = Graphics.FromImage(BitMap1)
Bitg1.DrawLine(Pens.Green, 10, 10, 100, 100)
Bitg1.DrawLine(Pens.Red, 600, 10, 100, 100)

A2.將 bitmap1 設成 picb1 的背景圖
PicB1.BackgroundImage = BitMap1


B.MouseDown 時 Picb1 的畫版上畫十字線線
Dim Picg1 As Graphics = PicB1.CreateGraphics()
Picg1.DrawLine(Blackpen, 0, MousePoint.Y, PicB1.Width, MousePoint.Y)
Picg2.DrawLine(Blackpen, MousePoint.X, 0, MousePoint.X, PicB1.Height)


C.Mouseup 時 先清版面再將 bitmap1 放回,就可以了
Picb1.image=nothing
picb1.BackgroundImage = BitMap1
本篇文章回覆於2021-04-09 14:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.