Variabele in een loop 1 stap laten achterlopen?

Status
Niet open voor verdere reacties.

erton

Gebruiker
Lid geworden
6 mrt 2009
Berichten
38
Hallo,

ik neem om de secondje met mijn webcam een image.
Het is mijn bedoeling om 2 pictureboxen te hebben, een met de laatste image op in picturebox1, en in picturebox2 zou dan de voorlaatste image moeten staan.

ik dacht om de waardes van variabelen aan elkaar door te geven in een lus, maar ik heb geen idee hoe het zou moeten. Heeft iemand misschien wat tips of een oplossing?

Code:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim data As IDataObject
        Dim bmap As Image
        '
        ' Copy image to clipboard
        '
        SendMessage(hHwnd, WM_CAP_EDIT_COPY, 0, 0)

        '
        ' Get image from clipboard and convert it to a bitmap
        '
        data = Clipboard.GetDataObject()
        If data.GetDataPresent(GetType(System.Drawing.Bitmap)) Then
            bmap = CType(data.GetData(GetType(System.Drawing.Bitmap)), Image)
            PictureBox2.Image = bmap

        End If
    End Sub

het is uiteindelijk de bedoeling om de 2 images met elkaar te gaan vergelijken, om zo een surveillance-prog te ontwikkelen. Dit even ter info.

mvg
 
Dit is geen antwoord op je vraag.
Maar waarom gebruik je het clipboard?

Een computer heeft maar 1 clipboard. Als een surveillanceprogramma dat bezet houdt
dan kun je op diezelfde PC niet meer met het clibpboard werken.

Of nog erger: je gebruikt het clipboard wel en je verstoort je surveillance.
 
hmmm, dat is waar.
Heb je een oplossing? misschien met icam werken?
 
Dit kan een aanpak zijn:

Elke 5 seconden doe je het volgende:

1. Kopieer de file "TempWebcamBeeldNext.bmp" naar "TempWebcamBeeldPrev.bmp".
2. Sla het huidige beeld van de webcam op in een bestand genaamd "TempWebcamBeeldNext.bmp".
3. Toon "TempWebcamBeeldNext.bmp" in Picturebox2.
4. Toon "TempWebcamBeeldPrev.bmp" in Picturebox1.

Ik zou stap 1 t/m 4 - in die volgorde - uitvoeren in een routine en dan die ene routine vanuit de timer aanroepen.

Je hebt dus niet twee timers nodig, je hebt genoeg aan een.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan