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:
Per darvi un'idea ecco l'immagine corrotta: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
![]()
Come potete notare c'è una strisciolina a sinistra che dovrebbe essere a destra...
sapete aiutarmi?
Grazie Ciaz

Rispondi quotando