begin process at 2010 03 19 01:31:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Mutimédia

 > 

Image & Vidéo

 > 

impossible de définir correctement la partie à scanner avec DelphiTwain


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

impossible de définir correctement la partie à scanner avec DelphiTwain

lundi 3 mars 2008 à 12:58:45 | impossible de définir correctement la partie à scanner avec DelphiTwain

ALSC

Bonjour,

J'utilise DelphiTwain avec Delphi 7.

Mon problème est le suivant :

Je n'arrive pas à définir la partie à scanner avec précision en utilisant la fonction "Twain.Source[...].EnableSource" (pour scanner).
Quel que soit le type d'unité que je choisisse avec "Twain.Source[...].SetICapUnits" (tuInches, tuCentimeters, tuPicas, tuPoints, tuTwips, tuPixels, tuUnknown), il reste sur tuInches.
De plus, en utilisant "Twain.Source[...].SetImageLayoutFrame(0, 0, 1.5, 1.5)", il ne prend pas les chiffres après la virgule.
Autrement dit, pour SetImageLayoutFrame, 1 ou 1,1 ou 1,5 ou 1,9 = 1 inch; 2 ou 2,1 ou 2,5 ou 2,9 = 2 inches et ainsi de suite.

Quelqu'un à t'il déjà rencontré ce problème ? et surtout à t'il une solution ?

Merci

ALSC
lundi 3 mars 2008 à 18:56:02 | Re : impossible de définir correctement la partie à scanner avec DelphiTwain

f0xi

Membre Club Administrateur CodeS-SourceS

http://delphitwain.sourceforge.net/

regarde les exemples si tu ne l'as pas deja fait.

pense aussi a lire les exemples dans le CHM de l'archive.

n'utilisant jamais DelphiTWain ni même TWain en regle general ... je ne peu t'en dire plus.


deefsign.gif
lundi 3 mars 2008 à 19:56:27 | Re : impossible de définir correctement la partie à scanner avec DelphiTwain

ALSC

Merci pour ta réponse, mais j'ai bien sur déjà regardé les exemples.

J'ai aussi retourné le CHM dans tous les sens, mais je n'ai rien trouvé.

Ce qui est dommage, c'est qu'il n'y ai pas d'exemple sur la manière de numériser sans utiliser l'interface Twain (ShowUI=false).

Peut-être que je me trompe dans l'ordre d'appel des méthodes, mais je ne pense pas.

A tout hasard, je laisse un exemple de ma source qui ne fonctionne pas:

if not DM.Twain.LoadLibrary then Exit;
if not DM.Twain.LoadSourceManager then Exit;
if not DM.Twain.Source[DM.TPRScanSourceIndex.AsInteger].LoadSource then Exit;
with DM.Twain.Source[DM.TPRScanSourceIndex.AsInteger] do
  begin
    TransferMode:=TTwainTransferMode(ttmMemory);
    SetIPixelType(tbdGray);
    SetIBitDepth(8);
    SetIXResolution(300);
    SetIYResolution(300);
    SetIndicators(false); //Censé masquer une fenêtre de progression qui s'affiche quand même
    SetICapUnits(tuCentimeters)); //Ca reste en Inches
    SetImagelayoutFrame(vLeft, vTop, vRight, vBottom);  //Ne prend que la partie entière des valeurs
    EnableSource(false, false); // paramètres: ShowUI, Modal - Modal à true ou false ne change rien, ça reste modal 
    while Enabled do Application.ProcessMessages;
  end;

Je tiens à préciser que celà ne provient pas du scanner qui fonctionne tres bien avec ShowUI.

Si personne n'a de solution, peut-être que quelqu'un pourrais m'indiquer un autre composant qui fonctionne ?


Encore merci

ALSC

mardi 4 mars 2008 à 19:30:41 | Re : impossible de définir correctement la partie à scanner avec DelphiTwain

f0xi

Membre Club Administrateur CodeS-SourceS

function GetICapUnits(var Return: TTwainUnit;
      var Supported: TTwainUnitSet; Mode: TRetrieveCap
      {$IFDEF DEFAULTPARAM}=rcGet{$ENDIF}): TCapabilityRet;

function SetICapUnits(Value: TTwainUnit): TCapabilityRet;

appel GetICapUnits pour verifier deja si le peripherique supporte le truc.
verifie aussi le retour de fonction pour savoir si une erreur n'est pas survenue.

TCapabilityRet = (crSuccess, crUnsupported, crBadOperation, crDependencyError,
    crLowMemory, crInvalidState, crInvalidContainer);


essaye ça a la place de la ligne SetICapUnits();

case SetICapUnits(tuCentimeters) of
  crUnsuported : MessageDlg('Le peripherique ne supporte pas le systeme metrique!', mrWarning, [mbOk],0);
  crBadOperation : MessageDlg('Mauvaise manip mec!', mrWarning, [mbOk],0);
  crDependencyError : MessageDlg('Erreur de dependance, besoin de drogue ?', mrWarning, [mbOk],0);
  crLowMemory : MessageDlg('Rachete de la ram ... t'en a plus', mrWarning, [mbOk],0);
  crInvalidState : MessageDlg('Etat invalide, ça merde quelque part, sur, mais ou ?', mrWarning, [mbOk],0);
  crInvalidContainer : MessageDlg('Conteneur invalide ... forcement, ça marchera pas.', mrWarning, [mbOk],0);
end;




deefsign.gif
mercredi 5 mars 2008 à 13:39:06 | Re : impossible de définir correctement la partie à scanner avec DelphiTwain

ALSC



Merci beaucoup...

J'ai bien compris la leçon : pour résoudre un problème, ça ne sert à rien de tirer la gueule chacun de son côté, il faut dialoguer.

Fort de ce principe, j'ai demandé à mon scanner (comme tu me l'as conseillé) ce qu'il est capable de comprendre comme type d'unités... Et à mon grand étonnement, il m'a répondu "tuInches" et "tuPixels".

Je me suis dit qu'on était bien parti pour s'entendre...Mais rien à faire, le bougre continue à me chercher.

Quand je lui demande poliment de me numériser une zone en inches de p. ex. (0, 0, 1.8, 1.8), il continue à me numériser une zone de (0, 0, 1, 1) inches. En fait, il ne prend que la partie entière des coordonnées de la zone.

Voici le code :
SetICapUnits(tuInches));
SetImagelayoutFrame(0, 0, 1.8, 1.8);  //Ne prend que la partie entière des valeurs
EnableSource(false, false);

Comme tu as l'air de savoir leur parler, ne serait ce pas abuser de te demander pourquoi il me fait ça ?

Encore merci de bien vouloir jouer le rôle de médiateur entre moi et ce  de scanner.

ALSC


Cette discussion est classée dans : source, twain, définir, scanner, delphitwain


Répondre à ce message

Sujets en rapport avec ce message

Scanner automatiser [ par kacola ] Bonjour,J'ai besoin très régulièrement de scanner beaucoup d'images avec toujours les mêmes paramètres:   Mon scanner : Canon Inkjet MP 780   Sur le c source par defaut pour un scanner sélectionné [ par hanamichiforce ] Bonjourje voudrais poser une question j'utilise multitwain comme composantpour scanner une image je dois au préalable choisir le scanner utilisé : TWA Compteur [ par cincap ] Bonjour, Il y a t'il quelqu'un qui pourrait vérifier cette source : http://www.delphifr.com/article.aspx?ID=2732 Car le compteur de fich Comment exécuter un code Source [ par grazio ] Je suis un débutant dans la programmation et je ne sait pas comment exécuter  un code Source ... Si quelqu'un peut m'aider ... MERCI !!!!!!!!   .ps : Afficher une horloge [ par cincap ] Bonjour à tous,Y a t'il quelqu'un qui connait une source en Delphi pour remplacer la forme de l'heure Windows (fond et couleur du texte)  dans la Tray code source du projet [ par nethacker ] salut,j'aimerais bien savoir s'il existe un moyen de reformuler la source ou plutot le fichier .passachant que j'ai les fichier suivant_ projet compil [D7] Définir la résolution d'un état. [ par nitrique ] Bonjour, Il m'arrive d'imprimer sur différentes imprimantes aux résolutions completement variées, de 1200 dpi à 203 dpi (ou 8 dots), selon que j'imp Bug à la c** dans ma source [ par John Dogget ] Bonjour à tous.Voilà c'est tout simple, j'ecris ceci :var  Dossier:string;begin  if SelectDirectory('Choisissez le dossier contenant les images ...',' Dlphi et SSH ? [ par candid ] bonjour je cherche un moyen pour faire du SSH et SFTP avec Delphi, mais je dois bien reconnaitre que je n'ai rien trouvé en Open Source ou freeware al code source gestion de l'emploi du temps [ par tichto11 ] Salut. je suis entrain de développez une application gestion de l'emploi du temps J'aimerai bien avoir votre aide merci


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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,671 sec (3)

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