作者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
1F:推 Cypresslin:如果不考虑无法重画的问题,可以直接画在原图片上 01/10 21:05
2F:→ Cypresslin:如果是要两个区域重叠的作法的话,之前试出来的结果是 01/10 21:07
3F:→ Cypresslin:要用Picturebox叠在Panel(放原图於背景)上 01/10 21:08