IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Comment numériser un document

Depuis un scanner ou un appareil photo numérique

Dans ce tutoriel vous apprendrez à exploiter la norme TWAIN dans vos applications Delphi grâce au composant Twainy.

3 commentaires Donner une note à l´article (5)

Article lu   fois.

L'auteur

Profil ProSite personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Qu'est-ce que TWAIN ?

TWAIN est une norme pour les logiciels de gestion des appareils d'acquisition d'images (scanner, appareil photo numérique…) qui est largement utilisée sur les ordinateurs Windows. TWAIN permet d'accéder aux appareils d'acquisition d'images à partir d'un autre programme, par exemple à partir d'une application graphique ou de PAO. Cela signifie qu'au lieu de devoir créer une image de numérisation dans un programme séparé, de la sauvegarder, puis de l'ouvrir dans l'application graphique, l'exploitation du protocole TWAIN permet d'importer l'image directement dans l'application graphique hôte, ce qui permet de gagner du temps.

II. Comment exploiter Twain avec Delphi ?

Vous avez deux solutions à votre disposition :

  • développer un composant en vous appuyant sur les indications du TWAIN Working Group ;
  • utiliser un composant existant.

Si vous avez choisi la première solution, je vous souhaite bien du courage et votre parcours sur ce document s'arrêtera ici, sinon pour les autres vous pouvez télécharger le composant freeware TWainy qui fonctionne parfaitement de Windows 95 à XP.

III. Utilisation du composant

Une fois le composant installé (si vous ne savez pas installer un composant sous Delphi, vous pouvez consulter l'article « Comment installer un nouveau composant ? »), vous n'avez plus qu'à le déposer sur votre Form pour exploiter votre périphérique par le biais de l'interface Twain.

Pour comprendre l'utilisation du composant, nous allons développer une application de numérisation d'images avec les éléments suivants :

  • un objet TToolbar avec deux boutons Image non disponible ;
  • un objet TImage Image non disponible ;
  • un objet Twainy Image non disponible.

Source du projet : exempletwain.zip (5 Ko).

III-A. Pour choisir la source du numériseur (scanner ou appareil photo numérique)

 
Sélectionnez
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
  Twainy1.SelectSource;
end;

À l'exécution du code, la fenêtre suivante apparaît :

Image non disponible

III-B. Pour numériser l'image

 
Sélectionnez
procedure TForm1.ToolButton2Click(Sender: TObject);
begin
  Twainy1.Acquire;
end;

Une fois la demande de numérisation envoyée, votre application TWAIN prend le relais pour l'acquisition de l'image. L'image est ensuite renvoyée à votre application et stockée dans la propriété ScannedBmp de l'objet Twainy.

Pour chaque image numérisée, pour récupérer l'image et effectuer votre traitement (enregistrement sur le disque, affichage sur un TImage, intégration dans une base de données…), vous devez utiliser l'évènement OnChangeBitmap de votre composant Twainy.

Par exemple, pour afficher le résultat dans un Timage, le code ressemblera à ceci :

 
Sélectionnez
procedure TForm1.Twainy1ChangeBitmap(Sender: TObject);
begin
  Image1.Picture.Bitmap := Twainy1.ScannedBmp;
end;

Dans le cas où votre interface TWAIN permet de numériser plusieurs éléments en une fois (notamment avec un appareil photo numérique), l'évènement OnChangeBitmap sera déclenché pour chacun de ces éléments.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2002 Atlantis. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.