Question

Je suis chargé d'intégrer l'acquisition d'images dans une application .NET et je suis à la recherche d'une API à utiliser pour exécuter cette fonction. Je suis venu à travers plusieurs API « standard », certains ont été en existence depuis longtemps, d'autres pas si longtemps. Je l'ai regardé des références à ISIS, TWAIN, WIA et SANE (dit être la plupart du temps * nix). Ils semblent tous être des bibliothèques Win32, sauf pour SANE, et je me demandais ce que les recommandations actuelles sont pour parler à des dispositifs d'acquisition d'images (scanners)?

Ne hésitez pas à recommander quelque chose d'autre si vous sentez qu'il est mieux. Je suis à la recherche des options open source.

Edit: Je mets open source, quand ce que je voulais dire était libre. en utilisant WIA ou TWAIN est très bien car ils sont gratuits, même si elles sont des interfaces propriétaires.

Était-ce utile?

La solution

Si vous limitez le choix à l'open source, vous vous limitez à SANE. Je doute qu'il y ait une autre bibliothèque open source qui est proche de SANE en termes de soutien de l'appareil et la compatibilité. Cela dit, il faut mentionner que SANE est encore assez pauvre à l'appui de l'appareil par rapport aux API propriétaires comme TWAIN et WIA ...

Si open source n'est pas doit avoir - alors le choix dépend du système d'exploitation. WIA serait la meilleure solution pour Windows XP et plus récent, TWAIN pourrait être mieux si vous avez besoin de prendre en charge Windows 2000 ou 9x (je pense TWAIN est également censé être multi-plateforme, même si je ne dispose d'aucune preuve à ce droit maintenant). Par rapport à WIA, API TWAIN est horriblement obsolète si (à mon humble avis), et WIA a des exigences plus strictes sur le soutien des choses comme la numérisation par lots (qui TWAIN laisse au fabricant de l'appareil pour soutenir ou non).

Autres conseils

Si votre application utilise des scanners haut de gamme et vous devez écrire une application qui permettra de maximiser le débit de vos scanners et profiter de toutes les fonctionnalités avancées de ces scanners, vous aurez envie de jeter un oeil à une API basée ISIS. J'ai personnellement utilisé le PixTools SDK avec grand succès pour construire une application pour un grand maison de balayage de volume. La boîte à outils a rendu assez facile à nettoyer des images numérisées à la volée en utilisant divers filtres de traitement d'images et de logiciels. Je suis également en mesure d'intégrer facilement la reconnaissance de codes à barres et patchcode. La boîte à outils est cher -. A propos 6k $ il y a quatre ans

Mais je soupçonne que votre application ne nécessite pas une solution haut de gamme. Dans ce cas, je pense que vous devriez regarder TWAIN. Je ne l'ai jamais essayé moi-même, mais je comprends TWAIN est difficile de travailler avec. Il y a quelque temps j'ai trouvé un article sur CodeProject où l'auteur présente une enveloppe .NET pour TWAIN:

.NET TWAIN scanner d'image

J'ai joué avec un peu et il semblait fonctionner. Ici, sur SO j'ai trouvé un fil où le lecteur se réfère Luc Quinane à son projet Google Code basé sur ce même article. Voici le lien:

Twain Dot Net

Je vous suggère d'aller avec les pilotes TWAIN dans la plupart des cas, car il offre une compatibilité maximale avec les scanners et aussi la liberté de personnaliser l'analyse basée sur le modèle du scanner. Si vous construisez une application simple de balayage, WIA peut convenir aussi bien. Pour ISIS, sauf si vous avez une exigence spécifique, vous feriez mieux de vérifier d'autres options d'abord. SANE offre un soutien optimal à travers l'analyse du réseau et sur les systèmes étaient il n'y a pas de système de Windows.

Si vous pouvez vivre avec le soutien de l'appareil de Sane, par tous les moyens vont avec, comme il est plus sain, libre (ouvert), flexible. Oders toujours imposer des limites arbitraires.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top