none
在vb2008 中如何让在picturebox控件中 用Graphics绘制的图形 在其他控件上显示 RRS feed

答案

  • Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
          Dim image As Image = Me.GetImage()
          Me.PictureBox1.Image = image
    
          Me.Button1.Image = Me.PictureBox1.Image
    
       End Sub
    
       Private Function GetImage() As Image
          Dim image As Bitmap = New Bitmap(200, 300)
    
          Dim g As Graphics = Graphics.FromImage(image)
          Dim pen As Pen = New Pen(Color.Blue, 4)
          g.DrawEllipse(pen, New Rectangle(20, 20, 100, 150))
          g.Save()
          Return image
       End Function

    如果用 picturebox .imge 却显示 属性为空


    你好 我刚才测试了是可以的,我用画笔绘制了一个椭圆,然后将PictureBox的Image属性设置为这个位图,同时将Button的Image属性设置为PictureBox的Image经测试是可以的

    你可以检查下是不是你在给你的PictureBox的Image属性复制前就使用了该属性?或者忘记了设置了此属性值?


    努力着就不会放弃!.net技术交流群 33083877http://hi.baidu.com/1987raymond
    2009年5月31日 8:45
    版主

全部回复

  • Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
          Dim image As Image = Me.GetImage()
          Me.PictureBox1.Image = image
    
          Me.Button1.Image = Me.PictureBox1.Image
    
       End Sub
    
       Private Function GetImage() As Image
          Dim image As Bitmap = New Bitmap(200, 300)
    
          Dim g As Graphics = Graphics.FromImage(image)
          Dim pen As Pen = New Pen(Color.Blue, 4)
          g.DrawEllipse(pen, New Rectangle(20, 20, 100, 150))
          g.Save()
          Return image
       End Function

    如果用 picturebox .imge 却显示 属性为空


    你好 我刚才测试了是可以的,我用画笔绘制了一个椭圆,然后将PictureBox的Image属性设置为这个位图,同时将Button的Image属性设置为PictureBox的Image经测试是可以的

    你可以检查下是不是你在给你的PictureBox的Image属性复制前就使用了该属性?或者忘记了设置了此属性值?


    努力着就不会放弃!.net技术交流群 33083877http://hi.baidu.com/1987raymond
    2009年5月31日 8:45
    版主
  • 你好!
         原因是你的图画在了PictureBox上了,没有画在PictureBox的Image上,所以出现了这个问题,上面的代码可以解决你的问题!
    周雪峰
    2009年5月31日 11:40
    版主
  • 可能我讲的问题 有歧义吧

    那把问题完整说下吧

    我在 form2 的picturebox1 中用 Graphics 绘制了一个图形

      在 form3 的pictuebox1中用 Graphics 绘制了另外一个图形

     现在 要求form2 form3的图形在后台绘制

    然后通过form1的 button 来选择在 form1的picturebox 中显示
    2009年5月31日 11:43
  • 1987raymond

    你的代码好像有问题啊

    复制过去

    报错 说

    语句在命名空间无效
    2009年5月31日 12:02
  • 你好!
         可以在form2和form3里自定义事件,通过自定义的事件参数把pictureBox的Image传进去,在form1中订阅这个事件,这样就可以在form1中提供自己的事件处理程序了,然后通过事件参数获得PictureBox的Image的值!
    周雪峰
    2009年5月31日 12:05
    版主
  • 周雪峰 老大

    我是新手 能否讲明白些 实在是有点太高深了
    2009年5月31日 12:17
  • 定义事件可以参考这里:
    http://msdn.microsoft.com/zh-cn/library/5z57dxz2.aspx
    定义XXXEventArgs的时候添加Image字段就可以了!
    周雪峰
    2009年5月31日 13:33
    版主