Comment numériser un document

Depuis un scanner ou un appareil photo numérique

atlantis

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

Commentez

- Titre : Comment numériser un document

- Auteur : atlantis

- Parution : 27 novembre 2002

- Mise à jour : 2 février 2020

- Public visé :

- Licence : 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 et 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.

Sommaire

- I. Qu'est-ce que TWAIN ?

- II. Comment exploiter Twain avec Delphi ?

- III. Utilisation du composant

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

- III-B. Pour numériser l'image

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  ;

- un objet TImage  ;

- un objet Twainy .

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

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

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

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

III-B - Pour numériser l'image

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 :

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.