Bonjour à tous,
J'ai installé le composant TWAIN sous delphi XE6 mais je ne sais pas la bonne syntaxe à utiliser pour arriver à scanner.
J'aimerais bien avoir un petit exemple d'utilisation.
Merci beaucoup.
Bonjour à tous,
J'ai installé le composant TWAIN sous delphi XE6 mais je ne sais pas la bonne syntaxe à utiliser pour arriver à scanner.
J'aimerais bien avoir un petit exemple d'utilisation.
Merci beaucoup.
Bonsoir,
Je ne connais pas TWAIN Toolkit. Est ce celui ci http://www.imagingtoolbox.com/index....kit-for-delphi ?
Si c'est le cas, sur la page de téléchargement (http://www.imagingtoolbox.com/index.php/download), il est indiqué que des exemples sont fournis.
A noter: ces composants sont payants.
Mon site - Mes tutoriels - GitHub - N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi
Bonsoir,
J'utilise DelphiTwain qui fonctionne très bien sous XE8
Si cela peut aider
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72 { pour mettre à jour la liste des scanners affichée dans la ListBox } procedure TForm20.Chargement; var i: Integer; begin LBSources.Items.Clear; for i := 0 to Twain.SourceCount - 1 do LBSources.Items.Add(Twain.Source[i].ProductName); if LBSources.Items.count > 0 then LBSources.ItemIndex := 0; end; { Pour remettre à jour la liste des scanners } procedure TForm20.SBChargementClick(Sender: TObject); begin if Twain.SourceManagerLoaded then Chargement; end; { Lance le scan } procedure TForm20.SBScannerClick(Sender: TObject); begin Acquisition; end; procedure TForm20.DoCreate; begin inherited; Twain := TDelphiTwain.Create; Twain.OnTwainAcquire := TwainTwainAcquire; if Twain.LoadLibrary then begin // Load Sourcemanager Twain.SourceManagerLoaded := true; Chargement; end else begin showmessage('Twain n''est pas installé'); end; end; procedure TForm20.Acquisition; Begin Twain.SelectedSourceIndex := LBSources.ItemIndex; if assigned(Twain.SelectedSource) then begin // Load Source, select transference method and enable (display interface) Twain.SelectedSource.Loaded := true; Twain.SelectedSource.ShowUI := true; // display interface Twain.SelectedSource.Enabled := true; end; End; procedure TForm20.doDestroy; begin Twain.Free; inherited; end; procedure TForm20.TwainTwainAcquire(Sender: TObject; Const Index: Integer; Image: TBitmap; var Cancel: Boolean); Begin Image3.Picture.LoadFromFile ('C:\XXXXXXXXXXXXXXX\images\Encours.bmp'); Image1.Picture.assign(Image); Cancel := true; transformation; Form20.Image3.Picture.LoadFromFile ('C:\XXXXXXXXXXXXXXX\images\OK.bmp'); End;
Merci pour vos réponses tous;
voici un exemple très simple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 procedure TForm1.btnAcquireClick(Sender : TObject); begin mcmTWAIN.Acquire(''); end; procedure TForm1.btnSelectClick(Sender : TObject); begin mcmTWAIN.SelectSource; end; procedure TForm1.mcmTWAINDisableMenus(Sender : TObject); begin btnAcquire.Enabled := False; btnSelect.Enabled := False; end; procedure TForm1.mcmTWAINEnableMenus(Sender: TObject); begin btnAcquire.Enabled := True; btnSelect.Enabled := True; end; procedure TForm1.mcmTWAINImageReady(Sender: TObject; pBmp: Pointer; pBmpInfo: PBitmapInfo; {$IFNDEF VER100} hImage : hBitmap; {$ELSE} hImage : Integer; {$ENDIF} FilePath: String); begin if (hImage <> 0) then Image1.Picture.Bitmap.Handle := hImage; end;
Bonjour Bonjour..
Les sujets ne sont jamais terminés.. Enfin pour certains..
J'ai besoin de paramétrer le scan que j'effectue. Les sources trouvés scannent effectivement très bien, on choisit le scan et on scanne.
Pour ma part, j'enregistre le scanner sélectionné pour ne pas le demander par la suite mais..
la variale 'le_scan' étant le scanner sélectionné, je tente cela :
twain.Source[le_scan].SetIXResolution(75);
twain.Source[le_scan].SetIYResolution(75);
twain.Source[le_scan].SetIPixelType(tbdBw);
twain.Source[le_scan].SetICapUnits(tuCentimeters);
twain.Source[le_scan].SetFeederEnabled(true);
twain.Source[le_scan].SetIndicators(true);
et ... Ca ne lui fait ni chaud ni froid...
Si vous avez persévéré et trouvé des solutions, je suis preneur![]()
Partager