huabiaogege520 2018-02-13 06:29 采纳率: 0%
浏览 1132
已结题

vb.net 中picturebox显示相机的vido,发生GDI一般性错误,代码如下,求大神帮看看

Public Sub OnImageGrabbed(ByVal sender As Object, ByVal e As ImageGrabbedEventArgs)
Try
If exitcamera = False Then
Dim grabResult As IGrabResult = e.GrabResult
If grabResult.IsValid Then
'将图像数据转换成Bitmap数据
bitmap = New Bitmap(grabResult.Width, grabResult.Height, PixelFormat.Format32bppRgb)
Dim bmpData As BitmapData
bmpData = bitmap.LockBits(New Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadWrite, bitmap.PixelFormat)
converter.OutputPixelFormat = PixelType.BGRA8packed
Dim ptrBmp As IntPtr
ptrBmp = bmpData.Scan0
converter.Convert(ptrBmp, bmpData.Stride * bitmap.Height, grabResult)
bitmap.UnlockBits(bmpData)
Dim bitmapOld As Bitmap
bitmapOld = PictureBox1.Image
bitmap.RotateFlip(RotateFlipType.Rotate90FlipNone)
PictureBox1.Image = bitmap
'PictureBox1.Image.RotateFlip(RotateFlipType.Rotate180FlipNone)
If Not (bitmapOld Is Nothing) Then
bitmapOld.Dispose() '释放数据
Else

                End If
            End If
        End If
    Catch ex As Exception
        MsgBox(ex.Message)

    End Try
End Sub

        在旋转90度处会发生GDI一般性错误后 bitmap = New Bitmap(grabResult.Width, grabResult.Height, Pix elFormat.Format32bppR参数变无效,pictureox1有一个子picturebox3,
         PictureBox3.BackColor = Color.Transparent
    PictureBox3.Parent = PictureBox1
            我是要在picturebox3中画图形,鼠标move事件画直线停留久就会发生上面的现象。
            小白求解是哪里出问题了?
  • 写回答

1条回答 默认 最新

  • threenewbee 2018-02-13 08:42
    关注
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!