Leggere codici a barre con una webcam mediante il Componente gb.media
Da Gambas-it.org - Wikipedia.
Versione del 27 apr 2023 alle 06:11 di Vuott (Discussione | contributi)
Il Componente gb.media offre la possibilità di leggere codici a barre mediante una webcam.
Di seguito mostriamo un codice utile a detto scopo, usando la Classe MediaPipeline del Componente gb.media.
Fasi necessarie:
- collegare una webcam al computer;
- lanciare il codice;
- avvicinare (...non troppo) il codice a barre alla webcam, cercando (...con pazienza) la distanza e l'inclinazione ottimali.
Private pl As MediaPipeline Private tb As ToggleButton Private drar As DrawingArea Public Sub _new() With Me .W = 600 .H = 600 End With drar = New DrawingArea(Me) drar.Background = Color.Transparent With tb = New ToggleButton(Me) As "Tasto" .X = 500 .Y = 550 .W = 80 .H = 40 .Text = "Avvia" End With End Public Sub Form_Open() Dim src, zbr, snk As MediaControl pl = New MediaPipeline As "Pipeline" src = New MediaControl(pl, "v4l2src") zbr = New MediaControl(pl, "zbar") snk = New MediaControl(pl, "xvimagesink") src.LinkTo(zbr) zbr.LinkTo(snk) snk.SetWindow(drar) End Public Sub Tasto_Click() If tb.Value Then pl.Play() tb.Text = "Chiudi" Else pl.Stop() pl.Close() Me.Close Endif End Public Sub Pipeline_Event(Message As MediaMessage) Dim b As Byte If Message.Name = "barcode" Then For b = 1 To Message.count - 1 With Message Print .Keys[b], Message[.Keys[b]], End With Next Print Endif End