Deutsch
Quelltexte/ Codesnippets

Webcam Laptop-Kamera Snapshot Escapi.dll

 

Walter
Habe nun erfolgreich Escapi.dll (Extremely Simple Capture API) eingebunden, um mit meiner Laptop-Kamera Bilder aufzunehmen.
"ESCAPI ist eine einfache DLL-Schnittstelle zur Verwendung von Videoaufnahmegeräten (meist Webcams ...)".
In diesem Beispiel erzeuge ich Snapshots und speichere sie als .jpg.

Die DLL gibt es hier:  [...] 
Infos dazu hier:  [...] 
Ich versuche auch, die DLL hier einzustellen...
 $H Windows.ph
' Camera
' 25.4.2023
' Macht Bilder mit der Laptop-Kamera in fixen Abständen
' und speichert sie im aktuellen Verzeichnis als test.<nr>.jpg
'   Hier ist eingestellt 1 Bild pro Sekunde, Breite/Höhe 640*480
'   Die Bilder werden vom Start weg von 001 an durchnummeriert und überschreiben die vom letzten Lauf
' Auf dem Bildschirm wird angezeigt, was aufgenommen wird
' Benötigt Escapi.dll V3 Win32 und Windows.ph
declare dll1&,AnzCam%,capture#,a%,b%,name$
declare pfad$,i%,b1%, Ende%
declare hBMP%,BildBuffer#
pfad$=GetDir$("")
' Bildbuffer
dim BildBuffer#,1228800' 640*480*4 Byte
' Schnittstellenstruktur
struct Bild=buff%%,mWidth&,mHeight&' Pointer auf den Bild-Buffer, Bildbreite, Bildhöhe
dim capture#,Bild
capture#.buff%%=addr(BildBuffer#)
capture#.mWidth&=640
capture#.mHeight&=480
' DLL Escapi
Def ESCAPIDLLVersion(0) !"escapi","ESCAPIDLLVersion"
Def countCaptureDevices(0) !"escapi","countCaptureDevices"
Def deinitCapture(1) !"escapi","deinitCapture"
Def doCapture(1) !"escapi","doCapture"
Def getCaptureDeviceName(3) !"escapi","getCaptureDeviceName"
Def initCOM(0) !"escapi","initCOM"
Def initCapture(2) !"escapi","initCapture"
Def isCaptureDone(1) !"escapi","isCaptureDone"
dll1&=usedll("Escapi.dll")
'messagebox(str$(ESCAPIDLLVersion()),"Escapi Version",0)
AnzCam%=countCaptureDevices()
name$=space$(1024)
'messagebox("Anzahl Kameras gefunden: "+str$(AnzCam%),"Anzahl",0)
getCaptureDeviceName(0,addr(name$),1024)
'messagebox(name$,"Kamera gewählt",0)
a%=initCapture(0, addr(capture#))
WindowTitle "Fotos aus der Laptop-Kamera"
window 700,600
b1%=create("Button",%hwnd,"Beenden",20,500,80,25)
ende%=0
i%=1
Settimer 1000
UserMessages $10' Abbruch übers Windows-Kreuz

whilenot ende%

    waitinput

    if %UMessage = $10' Abbruch übers Windows-Kreuz

        ende% = 1

    elseif %wmtimer

        if a%>0

            b%=doCapture(0)

        endif

        if b%>0

            while isCaptureDone(0)=0

            wend

        endif

        hBMP% = ~CreateBitmap(capture#.mWidth&, capture#.mHeight& , 1 , 32 , BildBuffer#)' Bitmap aus den Bufferdaten erzeugen
        DrawPic hBMP%, 20, 0; 0' Kontrollbild am Bildschirm
        ' Bild speichern
        savepic pfad$+"\\test."+format$("000.",i%)+".jpg",hBMP%,75
        sleep 10
        ~DeleteObject(hBMP%)'Speicher von Bitmap freigeben
        inc i%

    elseif clicked(b1%)' Ende-Button

        ende%=1

    endif

Wend

' freigeben
killtimer
deinitCapture(0)
dispose capture#, Bildbuffer#
freedll dll1&
 
26.04.2023  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

1.065 Betrachtungen

Unbenanntvor 0 min.
Jürgen Strahl11.06.2024
Alibre10.06.2024
H.Brill09.09.2023
Jens-Arne Reumschüssel10.07.2023
Mehr...

Themeninformationen

Dieses Thema hat 1 Teilnehmer:

Walter (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie