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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

numérisation auto cadrée


Sujet :

VBScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut numérisation auto cadrée
    bonjour,
    j'aime bien l'assistant WIA parce qu'il cadre automatiquement le sujet numérisé (le cadrage se resserre automatiquement autour du sujet scanné et c'est bien pour des tas de raisons...)

    Sur XP on trouvait son icone dans Poste de Travail.
    Sur W7 cet assistant semble disparu mais il est toujours là quelque part dans le système. Seule son icone facile a disparu alors que l'assistant est encore utilisable par les menus des programmes (par ex Open office ou Paint...). C'est pour ça que je sais qu'il est toujours là

    je voudrais bien retrouver une icone à cliquer pour activer l'assistant WIA et j'ai le code suivant (scanner.wsf) qui commence bien mais je ne vois pas où il enregistre l'image JPG consécutive à la numérisation... en fait je ne sais même pas si il y a une image JPG qui existe alors que tout semble fonctionner.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <job>
    <reference object="WIA.DeviceManager" />
    <object id="DeviceManager1" progid="WIA.DeviceManager" />
    <object id="CommonDialog1" progid="WIA.CommonDialog" />
    <script language="VBScript">
     
    Dim Img 'As ImageFile
     
    Set Img = CommonDialog1.ShowAcquireImage
     
    If Img.FormatID <> wiaFormatJPEG Then
    Dim IP 'As New ImageProcess
    Set IP = CreateObject( "Wia.ImageProcess" )
     
    IP.Filters.Add IP.FilterInfos("Convert").FilterID
    IP.Filters(1).Properties("FormatID").Value = wiaFormatJPEG
    Set Img = IP.Apply(Img)
    End If
     
    </script>
    </job>

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 127
    Par défaut
    Je ne vois pas la commande qui enregistrerait ton image.
    Voici un code VBS qui permet de convertir une image de type BMP en JPG
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
        Dim Img1
        Dim IP
        Dim wiaFormatJPEG
     
        'Création conteneur pour l'image à manipuler
        Set Img1 = CreateObject("WIA.ImageFile")
        'Chargement de l'image dans le conteneur 375 K
        Img1.LoadFile ("C:\PersoFrancis\ClusesEnviron2.bmp")
     
        'Création du gestionnaire de filtre
        Set IP = CreateObject("WIA.ImageProcess")
        wiaFormatJPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"
        IP.Filters.Add IP.FilterInfos("Convert").FilterID
        IP.Filters(1).Properties("FormatID").Value = wiaFormatJPEG
        IP.Filters(1).Properties("Quality").Value = 90
     
        Set Img1 = IP.Apply(Img1)
     
        'sauvegarde de l'image au format JPG => 38.7 K
        Img1.SaveFile ("C:\PersoFrancis\ClusesEnviron2Jpg.jpg")
    Peut être cela te permettras d'adapter à ton besoin.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut
    j'ai ajouté une ligne

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <job>
    <reference object="WIA.DeviceManager" />
    <object id="DeviceManager1" progid="WIA.DeviceManager" />
    <object id="CommonDialog1" progid="WIA.CommonDialog" />
    <script language="VBScript">
     
    Dim Img 'As ImageFile
     
    Set Img = CommonDialog1.ShowAcquireImage
     
    If Img.FormatID <> wiaFormatJPEG Then
    Dim IP 'As New ImageProcess
    Set IP = CreateObject( "Wia.ImageProcess" )
     
    IP.Filters.Add IP.FilterInfos("Convert").FilterID
    IP.Filters(1).Properties("FormatID").Value = wiaFormatJPEG
    Set Img = IP.Apply(Img)
    Img.SaveFile ("C:\scan.jpg")
    End If
     
    </script>
    </job>


    résultat



  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 127
    Par défaut
    Tu as oublié cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        wiaFormatJPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <job>
    <reference object="WIA.DeviceManager" />
    <object id="DeviceManager1" progid="WIA.DeviceManager" />
    <object id="CommonDialog1" progid="WIA.CommonDialog" />
    <script language="VBScript">
     
    Dim Img 'As ImageFile
     
    Set Img = CommonDialog1.ShowAcquireImage
     
    If Img.FormatID <> wiaFormatJPEG Then
    Dim IP 'As New ImageProcess
    Set IP = CreateObject( "Wia.ImageProcess" )
    wiaFormatJPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"
     
    IP.Filters.Add IP.FilterInfos("Convert").FilterID
    IP.Filters(1).Properties("FormatID").Value = wiaFormatJPEG
    Set Img = IP.Apply(Img)
    Img.SaveFile ("C:\scan.jpg")
    End If
     
    </script>
    </job>

    maintenant l'erreur c'est:

    ligne 14
    caract 2
    Erreur Cet objet ne gère pas cette propriété ou cette méthode 'wiaFormatJPEG'
    Code 800A01B6

  6. #6
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 127
    Par défaut
    Avec ce
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <job>
    <reference object="WIA.DeviceManager" />
    <object id="DeviceManager1" progid="WIA.DeviceManager" />
    <object id="CommonDialog1" progid="WIA.CommonDialog" />
    <script language="VBScript">
     
        Dim Img1
        Dim IP
        Dim wiaFormatJPEG
     
        'Création conteneur pour l'image à manipuler
        Set Img1 = CreateObject("WIA.ImageFile")
        'Chargement de l'image dans le conteneur 375 K
        Img1.LoadFile ("C:\PersoFrancis\ClusesEnviron2.bmp")
     
        'Création du gestionnaire de filtre
        Set IP = CreateObject("WIA.ImageProcess")
        wiaFormatJPEG = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"
        IP.Filters.Add IP.FilterInfos("Convert").FilterID
        IP.Filters(1).Properties("FormatID").Value = wiaFormatJPEG
        IP.Filters(1).Properties("Quality").Value = 90
     
        Set Img1 = IP.Apply(Img1)
     
        'sauvegarde de l'image au format JPG => 38.7 K
        Img1.SaveFile ("C:\PersoFrancis\ClusesEnviron3.jpg")
     
     
    </script>
    </job>
    lancé en double click dans l'explorateur windows sur le fichier .wsf, j'ai bien la sauvegarde.
    Suivant ton OS windows il t'est peut être interdit d'enregistrer un fichier à la racine du disque C:
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut
    merci pour ton aide ProgElecT.

    je viens de m'inscrire sur ce forum et c'était ma 1ere requête d'aide car ce n'est pas le vbscript qui occupe mes sessions habituelles. Je n'éspérais donc pas ici le jackpot du 1er coup. Mais c'est réconfortant de voir qu'il y en a qui essaient.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Par défaut
    d'habitude je ne fais pas de VBScript ni aucune programmation mais j'ai beaucoup cherché, j'ai demandé sur les forums et j'ai pris note de ce que ProgElecT a donné et voila un script qui fonctionne sur mon PC en W7 64 et mon scanner.
    Pour profiter de la numérisation auto-cadrante sur W7 il faut ouvrir Bloc Notes et copier-coller le code. Quand le fichier est fait il faut le renommer avec suffixe wsf (par exemple: scanner.wsf)
    On double-click dessus et à la fin si tout va bien le fichier scan.jpg atterrit sur le Bureau.
    Si on recommence à scanner alors la nouvelle image écrasera la première et le fichier garde le même nom (scan.jpg).


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <job>
    <reference object="WIA.DeviceManager" />
    <object id="DeviceManager1" progid="WIA.DeviceManager" />
    <object id="CommonDialog1" progid="WIA.CommonDialog" />
    <script language="VBScript">
    const WEBCAMJPEG = "scan.jpg" 
    set filesystem_obj = createobject("Scripting.FileSystemObject")
    Dim Img
    Set Img = CommonDialog1.ShowAcquireImage
    If Img.FormatID <> wiaFormatJPEG Then
    Dim IP
    Set IP = CreateObject( "Wia.ImageProcess" )
    IP.Filters.Add IP.FilterInfos("Convert").FilterID
    IP.Filters(1).Properties("FormatID").Value = wiaFormatJPEG
    Set Img = IP.Apply(Img)
    if filesystem_obj.fileexists(WEBCAMJPEG) then
    	filesystem_obj.deletefile(WEBCAMJPEG)
    end if
    img.savefile WEBCAMJPEG
    End If
    </script>
    </job>

    le grand luxe serait d'ajouter dans ce script une boite de dialogue pour enregistrer la numérisation comme on veut sur le disk, mais...

Discussions similaires

  1. Largeur auto de cadres div
    Par DamKre dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 08/05/2013, 17h46
  2. auto étendre un cadre en HTML
    Par frederic.go dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 09/11/2005, 12h15
  3. Pb d'auto-incrément sur une table v7
    Par Nivux dans le forum Paradox
    Réponses: 9
    Dernier message: 26/12/2002, 12h05
  4. Un Sender peut-il s'auto-détruire lors d'un onClick?
    Par Flo. dans le forum C++Builder
    Réponses: 2
    Dernier message: 17/07/2002, 10h31
  5. Réponses: 8
    Dernier message: 17/05/2002, 09h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo