Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Scanner une image avec KGF | |
| | Auteur | Message |
---|
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Scanner une image avec KGF Sam 8 Juin 2024 - 18:22 | |
| J'explore cette dll de Klaus et je me suis intéressé à essayer de scanner une image en panoramic avec la dll KGF. J'ai trouvé : StartScannerWithDialog qui semble être adapté à cela, mais je n'arrive pas à faire marcher quoi que ce soit. J'ai essayé ceci : - Code:
-
rem ' Scanner une image avec KGF dim TW%, res%, ind%, error%, addtitional% label clic , event dll_on "KGF.dll" on_user_event event TW%=1 width 0,1365 : height 0,720 picture 14 : width 14,1000 : height 14,650 res% = dll_call2("StartScannerWithDialog",TW%,1) memo 12 : left 12,1020 button 16 : left 16,1020 : top 16,200 : on_click 16,clic
end clic: beep return event: if bin_and(user_event_wparam,hex("FF000000"))=hex("05000000") : ' est-ce que c'est le scanner ? if bin_and(user_event_wparam,hex("00FF0000"))=hex("010000") : ' est-ce que c'est causé par la terminaison d'une acquisition ? ' ici, le scan a été effectué correctement. Faire, par exemple: res% = dll_call1("CopyScannerImapeToClipBoard",TW%) clipboard_paste 14 : ' en supposant que l'objet 14 est un PICTURE Panoramic end_if if bin_and(user_event_wparam,hex("00FF0000"))=hex("020000") : ' est-ce que c'est causé par une erreur ? ind% = bin_and(user_event_wparam,hex("FFFF")) : ' ceci est l'indice du scaner causant l'erreur error% = bin_and(user_event_lparam,hex("FFFF0000"))/65536 : ' ceci est le code d'erreur additional% = bin_and(user_event_lparam,hex("FFFF")): ' ceci est l'information détaillée ' ici, une erreur s'est produite pendant le scan. En supposant que 12 est un objet MEMO Panoamic, faire, par exemple: clear 12 item_add 12,"Numéro du scanner en erreur: "+str$(ind%+1) item_add 12,"Code erreur: "+str$(error%) item_add 12,"Additionnel: "+str$(additional%) end_if end_if return
Je l'ai utilisé plutôt « au pif », mais ça ne doit pas être cela !? Peut-être qu'en fait, j'ai fait une erreur toute simple. Mais je vois pas où. | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Scanner une image avec KGF Sam 8 Juin 2024 - 22:47 | |
| Bonsoir à tous ! @JJN4 Il manque une étape. Il faut créer un objet SCANNER et mettre son identifiant dans la variable TW%. C’est le rôle de la fonction « CreateScanner ». Syntaxe : - Code:
-
TW% = dll_call0("CreateScanner") Voilà ton code source rectifié qui devrait fonctionner si tu n’as qu’une seule et unique source TWAIN. - Code:
-
rem ' Scanner une image avec KGF dim TW%, res%, ind%, error%, addtitional% label clic , event, quitter
dll_on "KGF.dll" width 0,1365 : height 0,720 on_close 0,quitter picture 14 : width 14,1000 : height 14,650
' Créer un objet SCANNER et placer son identifiant dans TW% TW% = dll_call0("CreateScanner")
res% = dll_call2("StartScannerWithDialog",TW%,1) memo 12 : left 12,1020 button 16 : left 16,1020 : top 16,200 : on_click 16,clic
on_user_event event end clic: beep return event: if bin_and(user_event_wparam,hex("FF000000"))=hex("05000000") : ' est-ce que c'est le scanner ? if bin_and(user_event_wparam,hex("00FF0000"))=hex("010000") : ' est-ce que c'est causé par la terminaison d'une acquisition ? ' ici, le scan a été effectué correctement. Faire, par exemple: res% = dll_call1("CopyScannerImapeToClipBoard",TW%) clipboard_paste 14 : ' en supposant que l'objet 14 est un PICTURE Panoramic end_if if bin_and(user_event_wparam,hex("00FF0000"))=hex("020000") : ' est-ce que c'est causé par une erreur ? ind% = bin_and(user_event_wparam,hex("FFFF")) : ' ceci est l'indice du scaner causant l'erreur error% = bin_and(user_event_lparam,hex("FFFF0000"))/65536 : ' ceci est le code d'erreur additional% = bin_and(user_event_lparam,hex("FFFF")): ' ceci est l'information détaillée ' ici, une erreur s'est produite pendant le scan. En supposant que 12 est un objet MEMO Panoamic, faire, par exemple: clear 12 item_add 12,"Numéro du scanner en erreur: "+str$(ind%+1) item_add 12,"Code erreur: "+str$(error%) item_add 12,"Additionnel: "+str$(additional%) end_if end_if return
quitter: res% = dll_call1("DeleteScanner",TW%) return J’ai ajouté la suppression de l’objet SCANNER quand on sort de ton programme ( on_close 0,quitter) Cela permet de libérer le scanner pour les autres applications. Copie d'écran lorsque j'exécute ton code source : - Spoiler:
Bonne continuation ! | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Re: Scanner une image avec KGF Dim 9 Juin 2024 - 11:55 | |
| Ah oui, super, ça marche, comme ça ! Merci ! Mais il y a un truc bizarre : J'avais cherché tout ce qui pouvait concerner le scan en tapant « Scan » dans la recherche de KGF.chm et j'ai obtenu : StartScannerWithDialog StartSelectedScanner GetKGFFileSreamSegmentIndex (dans lequel il n'y a pas Scan) mais il n'a pas mis : CreateScanner qui contient pourtant « Scan » C'est un jeu de rechervche à trous ? | |
| | | Contenu sponsorisé
| Sujet: Re: Scanner une image avec KGF | |
| |
| | | | Scanner une image avec KGF | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |