Luigi Di Biasi


XP Programming Style
Sondaggio
Argomento Spider e WebCrawler

Interessante
Non interessante

Usare la classe Base_VideoAcquire

Usare la classe Base_VideoAcquire

L'obbiettivo di questo post è quello di mostrare come utilizzare la classe Base_VideoAcquire che abbiamo implementato precedentemente...

Avviamo un progetto WinForm e nella form principale importiamo i namespaces. (io solitamente per le classi che scrivo antepongo il mio cognome al namespaces... quindi se importate la dll dell'esempio nei vostri progetti dovrete inserire gli imports così... se ve la compilate per conto vostro cambiate DIBIASI con il vostro cognome)

Imports DirectShowLib
Imports DIBIASI.Video.Simple
Imports System.Runtime.InteropServices.ComTypes

Inseriamo una PictureBox e la nominiamo nP

Inseriamo un Button.. e nell'evento di gestione di quest'ultimo ... 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

         Dim MyVU As New Base_VideoUtilty()  ' istanziamo il wrap

' Recuperiamo la lista delle periferiche disponibili       

Dim dictPer As Dictionary(Of Integer, IMoniker)
        Try
            dictPer = MyVU.Get_ListOfVideoAcquireHardware()
        Catch
            MsgBox("Non ci sono periferiche disponibili.")
        End Try
  

' Istanziamo la periferica 0  { la prima disponibile }

        Dim theHard As Base_VideoUtilty.Base_VideoAcquireHardware = MyVU.Create_VideoAcquireHardware(0)

Chiaramente, se abbiamo due webcam per istanziarle tutte e due faremo così :

        Dim cam1 As Base_VideoUtilty.Base_VideoAcquireHardware = MyVU.Create_VideoAcquireHardware(0)

        Dim cam2 As Base_VideoUtilty.Base_VideoAcquireHardware = MyVU.Create_VideoAcquireHardware(1)

Cambiando solo il parametro finale della funzione Create_VideoAcquireHardare

' Avviamo il video nella picturebox Np

        theHard.StartVideoOnHandle(Np.Handle, PinCategory.Capture, MediaType.Video)
        theHard.ResizeVideoOnHandle(Np.Width, Np.Height)

' Attenzione nel gestire l'evento Resize della picturebox...

        theHard.ResizeVideoOnHandle(Np.Width, Np.Height) ' ATTENZIONE!!!!!!!  Questa riga và chiamata OGNI volta che si effettua il resize dell'oggetto dove è visualizzato il video

Per scaricare un esempio di utilizzo, che supporti più webcam, e la DLL compilata (DirectShow.NET.dll + Base_VideoAcquire.Dll) cliccate qui

ATTENZIONE: Per come è stata concepita, anche se in linea generale è possibile istanziarla più volte, è consigliabile creare una sola istanza di Base_VideoAcquire per progetto!

Nel prossimo post cercheremo di capire come effettuare la cattura del frame.

sabato, 13 giu 2009 Ore. 11.46
Statistiche
  • Views Home Page: 27.213
  • Views Posts: 51.110
  • Views Gallerie: 0
  • n° Posts: 41
  • n° Commenti: 33
Archivio Posts
Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003