作者sllinios (今天好冷)
看板Visual_Basic
標題VB2005中要如何在一張已經CALL進來存在的圖檔上繪圖??
時間Sat Jan 10 13:33:41 2009
版上大大
小弟最近遇到一個疑問 不知如何解決
在VS2005中 我先將一張圖Show在PictureBox1中
然後要在這張圖上畫點,線, 圓, 文字等
我問過某位前輩 他告訴我要再建一個透明的圖框 PictureBox2
然後將畫布物件設定在 PictureBox2中 在PictureBox2中繪圖 這樣就可以把自己
所畫的那些點圓線等 疊在原來PictureBox1中所載入的圖檔上 可以同時Show出來
但我實際試了之後 卻發現怎麼樣也無法讓兩個PictureBox同時Show出來 不是1蓋掉2
就是2 蓋掉1 想請問版上有沒有哪位大大 可以為我解答
程式碼如下
Dim bmp As New Bitmap(512,512)
Dim g As Graphics
Dim p As Pen(Color, Red)
Private Sub Form1_Load(By..................)
PictureBox1.Hide()
PictureBox2.Show()
PictureBox2.Image = Image.FromFile("...bmp")
End Sub
Private Sub Button1_Click(ByVal............)
PictureBox1.Show()
PictureBox2.Hide()
g = Graphics.FromImage(bmp)
g.Clear(Color.Transparent)
PictureBox1.Image = bmp
p.Color = Color.Blue
g.DrawLine(p,10,10,100,100)
PictureBox2.Show()
End Sub
上例中 我想簡單地在已讀入的bmp圖檔上畫一條藍色的斜線
就算同時讓兩個PictureBox1和2 皆為Show的狀態 還是無法同時讓兩個圖形show出來
達到我要的效果 希望各位大大能不吝為我解答
感激不盡
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.171.80.208
推 Cypresslin:如果不考慮無法重畫的問題,可以直接畫在原圖片上 01/10 21:05
→ Cypresslin:如果是要兩個區域重疊的作法的話,之前試出來的結果是 01/10 21:07
→ Cypresslin:要用Picturebox疊在Panel(放原圖於背景)上 01/10 21:08