begin process at 2010 02 09 23:29:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > TWAIN : NUMÉRISER UN DOCUMENT DEPUIS UN SCANNER OU UN APPAREIL PHOTO NUMÉRIQUE

TWAIN : NUMÉRISER UN DOCUMENT DEPUIS UN SCANNER OU UN APPAREIL PHOTO NUMÉRIQUE


 Information sur la source

Note :
7,4 / 10 - par 5 personnes
7,40 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Niveau :Débutant Date de création :04/01/2004 Date de mise à jour :28/01/2004 22:19:04 Vu / téléchargé :14 699 / 1 578

Auteur : Yoann

Ecrire un message privé
Site perso
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

TWAIN définit un standard utilisé par les développeurs de logiciels et par les fabricants de matériels pour développer des applications ou du matériel compatibles.
Le standard est défini par l'organisation TWAIN. Ces représentants provienent de fabricants majeurs de produits logiciel et matériel.
Grâce à la technologie TWAIN, vous pouvez acquérir les images d'un scanner, d'un appareil photo numérique ou d'une webcam.

Dans cette exemple qui illustre TWAIN, nous utiliserons l'unité MultiTWAIN (77 Ko) qui est freeware contrairement à beaucoup de composants. Un exemple est déjà fournit avec mais il est assez compliqué à comprendre. J'ai donc refait un exemple pour acquérir une image issue d'une source (appareil photo , webcam, scanner) que vous sélectionnez.

Ajouter un composant TButton et TImage.

Source

  • Uses MultiTWAIN;
  • procedure TForm1.Button1Click(Sender: TObject);
  • Var ImgTmp:TImage;
  • n:Integer;
  • TestDib:HBitmap;
  • begin
  • ImgTmp:=TImage.Create(Self);
  • TWAIN_SelectImageSource(0);
  • TWAIN_AcquireNative(0,0);
  • n:=TWAIN_GetNumDibs;
  • if n>=1 then
  • begin
  • TestDib:=TWAIN_GetDib(0);
  • CopyDibIntoImage(TestDib,ImgTmp);
  • TWAIN_FreeNative(TestDib);
  • Image1.Picture.Bitmap.Width:=ImgTmp.Width;
  • Image1.Picture.Bitmap.Height:=ImgTmp.Height;
  • Image1.Picture:=ImgTmp.Picture;
  • end;
  • end;
Uses MultiTWAIN;

procedure TForm1.Button1Click(Sender: TObject);
Var ImgTmp:TImage;
n:Integer;
TestDib:HBitmap;
begin
ImgTmp:=TImage.Create(Self);
TWAIN_SelectImageSource(0);
TWAIN_AcquireNative(0,0);
n:=TWAIN_GetNumDibs;
if n>=1 then
begin
TestDib:=TWAIN_GetDib(0);
CopyDibIntoImage(TestDib,ImgTmp);
TWAIN_FreeNative(TestDib);
Image1.Picture.Bitmap.Width:=ImgTmp.Width;
Image1.Picture.Bitmap.Height:=ImgTmp.Height;
Image1.Picture:=ImgTmp.Picture;
end;
end;

 Conclusion

Plus d'information sur : http://delphipage.free.fr/

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture CREATION D'UN EXPERT : AJOUTER UNE OPTION DANS LE MENU "AIDE...
Source avec Zip COMMUNIQUER ENTRE DEUX APPLICATIONS GRACE AU PROTOCOLE DDE
Source avec Zip Source avec une capture GLSCENE : CRÉER DEUX OBJETS DE TYPE SPHÈRE EN 3D, INSÉRER UN...
Source avec Zip Source avec une capture TURBO POWER INTERNET PROFESSIONAL : ENVOYER UN EMAIL
Source avec Zip Source avec une capture TURBO POWER ABBREVIA : EXTRAIRE LE CONTENU D'UN FICHIER ZIP

 Sources de la même categorie

Source avec Zip Source avec une capture LOGICIEL DE DIAGNOSTIC AUTOMOBILE KWP2000 par Oniria
Source avec Zip Source avec une capture RÉGLE TRANSPARENTE POUR MESURER UN OBJET ECRAN par dubois77
Source avec Zip Source avec une capture LE BOOK DU PAUVRE par dubois77
Source avec Zip Source avec une capture CAHIER 90 PAGES par dubois77
Source avec Zip Source avec une capture TABLEAU DE BOUTONS DYNAMIQUES (AGENDA) par dubois77

Commentaires et avis

Commentaire de kacola le 13/07/2004 12:01:14

Où peut-on trouver une aide ou des explications sur les fonctions et procédures du composant TWAIN?
Merci beaucoup.

Commentaire de tonkaroto le 11/02/2005 00:39:17

j'ai une erreur, en fait quand je lance le programme
il fait une acces violation adresse 0000..
c'est au moment ou il essaye de creer la fenetre de selection de source :
HWND CreateProxyWindow(void)
{
HWND hwnd;
hwnd = CreateWindow("STATIC", // class
"Acquire Proxy", // title
WS_POPUPWINDOW | WS_VISIBLE, // style
CW_USEDEFAULT, CW_USEDEFAULT, // x, y
CW_USEDEFAULT, CW_USEDEFAULT, // width, height
HWND_DESKTOP, // parent window
NULL, // hmenu
hinstLib, // hinst
NULL); // lpvparam
return hwnd;
} // CreateProxyWindow

y a t il quelque chose que j'ai pas installé ??

Commentaire de MAURICIO le 31/05/2005 12:28:43

Salut Tonkaroto, j' ai le même problème que toi.
Dans button1click remplace le code par le suivant:

procedure TForm1.Button1Click(Sender: TObject);
Var ImgTmp:TImage;
n:Integer;
TestDib:HBitmap;
begin
ImgTmp:=TImage.Create(Self);
TWAIN_SelectImageSource(Form1.Handle); //Affichage de la boite de dialogue de sélection de la source
TWAIN_AcquireNative(Form1.Handle,0); //Acquérit l'image
n:=TWAIN_GetNumDibs; //Récupère le nombre d'image acquérit
if n>=1 then
begin
TestDib:=TWAIN_GetDib(0); //Handle de la source
CopyDibIntoImage(TestDib,ImgTmp); //Tansforme l'image DIB en Bitmap
TWAIN_FreeNative(TestDib); //Libère la mémoire
//Affiche dans "Image1" l'image "ImgTmp"
Image1.Picture.Bitmap.Width:=ImgTmp.Width;
Image1.Picture.Bitmap.Height:=ImgTmp.Height;
Image1.Picture:=ImgTmp.Picture;
end;
end;

A+

Commentaire de Stephane_menard le 06/03/2007 08:39:34

Salut,

bonne source, j'arrive à acquérir de n'importe quel scanner.

Par contre je n'arrive pas à récupérer la résolution ou à la passer en utilisant les outils 'TWAIN_GetCurrentResolution' et 'TWAIN_SetCurrentResolution'.

Une idée ?

Merci.

Commentaire de kacola le 09/05/2007 13:09:56

Bonjour,
Merci beaucoup pour votre code, il marche impec chez moi.
Mais j'ai besoin de votre aide:
Je souhaite scanner avec toujours les mêmes paramètres :
     * Chargeur de document ( et pas plateau)
     * A5
     * 300 dpi
     * Noir et blanc
     * luminosité -10
Est-il possible de ne pas faire apparaître la boîte de dialogue et d'utiliser directement tous ces paramètres ?

Merci de votre aide.

Commentaire de rj88 le 31/10/2007 17:58:51 10/10

Merci beaucoup !!!

Depuis 2 jours que je travaillais pour comprendre où j'avais une erreur...
Pour infos: si vous avez un message d'erreur Unable to open Source Manager, et que la DLL TWAIN_32 est bien dans c:\windows, vérifier la valeur de renvoi de getwindowsdirectory, pour moi, c'était c:\documents and settings\rjanot\windows...

Merci encore !

Commentaire de paloo0 le 11/02/2008 15:19:59

Je suis comme stephane j'aimerais passer une resolution
Comment faut faire ?
Par contre je n'arrive pas à récupérer la résolution ou à la passer en utilisant les outils 'TWAIN_GetCurrentResolution' et 'TWAIN_SetCurrentResolution'.

Commentaire de jaffael le 03/07/2008 11:46:20 5/10

Bonjour,
Merci beaucoup pour ce code,

J'aimerais savoir, si il y a des fonctions Twain pour lire le nom du scanner ou son numéro de série.

Merci de votre aide.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales