salve a tutti,
ho creato un applicazione che scatta degli snapshot su un file in riproduzione all'interno del programma usando la libreria DirectShow. Ecco il codice:
codice:
        Dim Buff As Long
        Dim zero As IntPtr = IntPtr.Zero
        Dim Mstep As Integer
        Dim bit1 As Bitmap
        basicVideo.GetCurrentImage(Buff, zero)
        zero = Marshal.AllocCoTaskMem(Buff)
        basicVideo.GetCurrentImage(Buff, zero)
        Dim gg As New BitmapInfoHeader
        Marshal.PtrToStructure(zero, gg)
        Mstep = gg.ImageSize / gg.Height
        bit1 = New Bitmap(gg.Width, gg.Height, Mstep, Imaging.PixelFormat.Format32bppRgb, zero)
        bit1.RotateFlip(RotateFlipType.RotateNoneFlipY)
        Dim bm_dest As New Bitmap(gg.Width, gg.Height)
        Dim gr_dest As Graphics = Graphics.FromImage(bm_dest)
        gr_dest.DrawImage(bit1, 0, 0, _
                bm_dest.Width + 1, _
                bm_dest.Height + 1)
        bm_dest.Save("c:\1.bmp", System.Drawing.Imaging.ImageFormat.Bmp)
        PictureBox1.Image = Nothing
        PictureBox1.Image = bit1
        PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize
Per darvi un'idea ecco l'immagine corrotta:


Come potete notare c'è una strisciolina a sinistra che dovrebbe essere a destra...
sapete aiutarmi?
Grazie Ciaz