Bonjour à tous
Je récupère l'image issu d'un scanner en utilisant l'unité DelphiTwain.
Si le scan en couleur fournit une image correct, ce n'est pas le cas lorsque je demande que l'image soit traitée en nuances de gris (voir les fichiers attachés en exemple).
Voici le code (tout simple , et pourtant...)
Lorsque ce code est utilisé Scanner.Source[Source_Choisie].SetIPixelType(TbdRgb); les résultat est correct. Mais lorsque c'est Scanner.Source[Source_Choisie].SetIPixelType(TbdGray);, l'image est coupée comme le présente le fichier a_Nb.
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 PROCEDURE Tfpdf.Button6Click(Sender: TObject); VAR Scanner: TDelphiTwain; Source_Choisie: Integer; BEGIN TRY Scanner := TDelphiTwain.Create(Self); Scanner.OnTwainAcquire := TwainTwainAcquire; IF Scanner.LoadLibrary THEN BEGIN Scanner.LoadLibrary; Scanner.LoadSourceManager; Source_Choisie := Scanner.SelectSource; Scanner.Source[Source_Choisie].Loaded := TRUE; Scanner.Source[Source_Choisie].SetIPixelType(TbdRgb); Scanner.Source[Source_Choisie].EnableSource(False, True); WHILE Scanner.Source[Source_Choisie].Enabled DO Application.ProcessMessages; Scanner.UnloadLibrary; END; FINALLY Scanner.Free; END; END; PROCEDURE Tfpdf.TwainTwainAcquire(Sender: TObject; CONST Index: Integer; Image: TBitmap; VAR Cancel: Boolean); BEGIN IImage.Picture.Assign(Image); Cancel := TRUE; { Only want one image } END;
Quelques idées la dessus ?
a+
Olivier
Partager