Utiliser une webcam (TWAIN)

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Utiliser une webcam (TWAIN)

Message par Oliv »

J'ai trouvé un codesur le forum anglais. Si les codes trouvés ne fonctionnaient pas chez vous c'est surement car votre caméra est comme la mienne : il faut utiliser une interface TWAIN.

Il faut une DLL à telecharger ici
Sinon, vous avez tout directement sur le site http://www.twain.com

Code : Tout sélectionner

;EZ_Twain DLL 
;(W) umsetzung nach PB by Galaxy, 03/2003 

;global für DLL 
Global *TWAIN_IsAvailable 
Global *TWAIN_SelectImageSource 
Global *TWAIN_AcquireToClipboard 
Global *TWAIN_AcquireNative 
Global *TWAIN_WriteNativeToFilename 
Global *TWAIN_FreeNative 

Procedure Twain_Init()         ;dll Init 
OpenLibrary(10,"eztw32.dll") 
*TWAIN_IsAvailable = IsFunction(10,"TWAIN_IsAvailable") 
*TWAIN_SelectImageSource = IsFunction(10,"TWAIN_SelectImageSource") 
*TWAIN_AcquireToClipboard = IsFunction(10,"TWAIN_AcquireToClipboard") 
*TWAIN_AcquireNative = IsFunction(10,"TWAIN_AcquireNative") 
*TWAIN_WriteNativeToFilename = IsFunction(10,"TWAIN_WriteNativeToFilename") 
*TWAIN_FreeNative = IsFunction(10,"TWAIN_FreeNative") 
EndProcedure 

Procedure.l Twain_ScannCheck() 
; Check, ob TWAIN Scanner vorhanden ist 
; 0 = Kein Scanner vorhanden oder kein TWAIN Scanner 
; 1 = OK, Scanner gefunden 

value.l = CallFunctionFast(*TWAIN_IsAvailable) 
ProcedureReturn value 
EndProcedure 

Procedure.l Twain_scanchoice(hwnd) 
; Auswahl des Scanners 
; 0 = Kein Scanner vorhanden / Auswahl abgebrochen 
; 1 = OK, Scanner wurde gewählt 

  value.l = CallFunctionFast(*TWAIN_SelectImageSource,hwnd) 
  ProcedureReturn value 
EndProcedure 


Procedure Twain_ScannToFile(datei.s) 
;scannt als Datei 

  bmp.l = CallFunctionFast(*TWAIN_AcquireNative,0,0) 
          CallFunctionFast(*TWAIN_WriteNativeToFilename,bmp,datei) 
          CallFunctionFast(*TWAIN_FreeNative,bmp) 
ProcedureReturn 0 
EndProcedure 

Procedure TWAIN_ScannToClip() 
;scannt in die Zwischenablage 

CallFunctionFast(*TWAIN_AcquireToClipboard,0,0) 
ProcedureReturn 0 
EndProcedure 


; ******************************************* Twain ***************** 

; demo 
WindowID = OpenWindow(0, 700, 10, 320, 400, #PB_Window_SystemMenu,"Test") 
CreateGadgetList(WindowID()) 


Twain_Init()                        ;dll init 
If Twain_ScannCheck() = 1           ;Scanner erkennen und prüfen 
Twain_scanchoice(WindowID)         ;Scanner wählen 
Twain_ScannToFile("scantest.bmp")  ;Bild scannen 
EndIf 



Repeat 
eventID.l = WaitWindowEvent() 
Until EventID = #PB_EventCloseWindow 
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

ça ne marche pas ... :( pourtant ma webcam a bien un driver twain !!!
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

ça ne marche pas du tout !!!!!

:x :x :x :x

ah bin oui, mais j'ai pas de webcam :lol: :lol: :lol: :lol:

pat
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

enfin ça fonctionne !! la dll que je decompressais était eroné !
J'ai donc bien une image mais le problème c'est que ça ne fonctionne que comme cliché !

Comment peux t'on faire pour que dans une boucle l'image de la webcam se copie sur un sprite sans avoir cette interface de capture ?

J'ai l'impression que j'y arriverait jammais a afficher ce que film la webcam dans un ecran sur un sprite ...un vrai defit si ça continue je vais donner une prime a la personne qui arrivera a m'aider sur ce truc !! :P
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

je ne sais pas encore trop comment faire ar j'ai rendu la webcam que l'on m'avait prété dsl
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

tu veux que je t'offre une webcam ? :P
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Pas de problème :D
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

chiche !!! 8)
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

tu veux mon adresse ?
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

Envoie ton adresse en MP !
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

euh moi aussi j'en veux une de webcam 8) 8)

patrick :twisted:
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

lollllllll désolé j'en ai qu'une :lol:
Répondre