Visit my English pages

Aide sur ImageGrab

 

Les scripts et lignes de commande de ImageGrab

. On peut ouvrir un fichier texte de script

. La syntaxe des scripts

. La même syntaxe est utilisable en ligne de commandes

.Quelques exemples de scripts

 

 Visitez aussi:



Les pages d'aide sur ImageGrab

Page suivante



Mes Logiciels à télécharger

Site optimisé pour un affichage en 1024x768.

 

Dernière Mise à Jour  de cette page

le mercredi 15 septembre 2010

 


. On peut ouvrir un fichier texte de script

 

ImageGrab  comprend une sorte de langage de script, très simple, pour pouvoir automatiser des commandes, ce qui est surtout utile si on veut les appliquer à un grand nombre de fichiers, soit en une fois, soit à plusieurs reprises. Les commandes de script doivent être écrites dans un simple fichier texte (utilisez par exemple notepad.exe fourni avec Windows).

 

Si on dispose d'un tel fichier sur le disque dur, alors le bouton ou le raccourci CTRL+S lancent les commandes contenues dans le script. Attention, le script est immédiatement ouvert et lancé, sans vous redemander de confirmation.

Si le script lancé ne vous convenait pas, il reste possible de l'abandonner en cours de route par la touche Echap.

retour au haut de la pageanigray07_up.gif

. La syntaxe des scripts

 

Un script pour ImageGrab  est formé d'une succession de lignes de textes contenant chacune une commande formée sur la syntaxe suivante:

 

  • un signe de début de commande parmi les 3 caractères  + / -
  • un mot-clé indiquant la commande qui est au choix un vrai mot, en général formé à partir de l'Anglais, soit un code court pouvant être même réduit à un ou deux caractères. La formule courte est plutôt destinée aux paramètres pour l'exécution en ligne de commande, et la forme du mot-clé est à privilégier dans les fichiers de script car plus lisible.
  • pour certaines commandes, un paramètre qui est toujours introduit par le signe égal = suivi d'un texte, éventuellement entre double guillemets s'il contient des caractères espaces.

 

La liste des commandes est affichée en tapant F11 ou cliquant sur le bouton :

On trouve dans la 1ère colonne le titre de la commande, dans la seconde le raccourci clavier quand il y en a un, dans la troisième les caractères utiles pour l'exécution en ligne de commande, dans la quatrième le mot-clé pour le script (La liste ci-dessus n'est que le début de la liste).

 

Des exemples de commandes sont ainsi:

 

    +bmp ou +b enregistrer les images en bitmap

    +open="d:\Mes Documents\Mes vidéos\trucmuche.avi" ouvrir le fichier avi indiqué

    +position=0:00:00:10 se positionner au timestamp 0:00:00:10 (10ème image de la vidéo courante). On peut aussi écrire cette commande +>=0:00:00:10

    /m ou /mute basculer l'audio entre On et Off

    +copy ou +c copier l'image courante dans le presse-papiers

     

Les commandes sont toujours séparées par des espaces (des blancs), ou par la fin de ligne dans le script. C'est pourquoi il est important de mettre les paramètres contenant des espaces entre guillemets et de ne pas mettre d'espaces avant ou après le signe égal. On ne peut avoir qu'une commande sur la même ligne de texte du script. S'il y a du texte au-delà du paramètre, il sera ignoré.

 

S'il y a des lignes de texte qui ne répondent pas à cette syntaxe, elles seront ignorées. Cela permet de mettre des commentaires, simplement en prenant soin de ne pas mettre l'un des 3 signes de début de commande au début de la ligne.

 

Le signe de début de commande peut en général être choisi indifféremment parmi + / -. Néanmoins pour les commandes qui fonctionnent comme une bascule, les signes ont des effets différents, à savoir  que+ force la bascule à être enclenchée, - la force à être désactivée, et / inverse l'état actuel. Par exemple avec le code m, la commande +m force ImageGrab  à couper le son, -m  force ImageGrab à remettre le son et /m inverse l'état d'ImageGrab  sur ce point.

 

On peut exécuter un ensemble de commandes sur une série de fichiers de la manière suivante:

 

Au début de la boucle, prévoir une commande +open pour ouvrir des fichiers avec un paramètre comportent des "wildcards" comme * ou ?. Puis à la fin du traitement, prévoir la commande +next. Dans ce cas, ImageGrab ouvre au début de la boucle le premier fichier qui correspond à la wildcard, lui applique le traitement et jusqu'à ce qu'il arrive à la commande +next, il remonte alors au début de la boucle et charge le prochain fichier correspondant, jusqu'à ce qu'il n'en reste plus.

Par exemple pour extraire la première image de tous les fichiers vidéos contenus dans le dossier c:\dossier vous pourriez écrire le script très simple suivant:

 

    +open='c:\dossier\*.*"

    +grab

    +next

retour au haut de la pageanigray07_up.gif

. La même syntaxe est utilisable en ligne de commandes

 

On peut lancer ImageGrab  en mode ligne de commandes, en créant un fichier *.bat basé sur la même syntaxe, simplement il faut commencer la ligne de commandes par le nom et le chemin de l'éxécutable pour ImageGrab. On y ajoute ensuite des paramètres de ligne de commandes identiques à ce qui est indiqué ci-dessus. Attention aux complications de MS-DOS pour les caractères accentués: il est recommandé de créer le fichier dans Wordpad et de le sauver en texte MS-DOS.

 

Par exemple pour extraire une image en Jpeg avec qualité 60 de tous les fichiers mpeg du dossier "d:\Mes Documents\Mes vidéos" on écrira la ligne de commande suivante:

"c:\Program Files\ImageGrab\imagegrab_50fr.exe" /j=60 -z -e /o="d:\Mes Documents\Mes vidéos\*.mpg" /g ++

 

en supposant que l'exécutable de Imagegrab  est dans le dossier c:\Program Files\ImageGrab. Notez qu'on a ajouté -z pour ne pas avoir à confirmer qu'on veut enregistrer l'image si elle existe déjà, et -e pour ne pas devoir lire les panneaux d'erreurs si certains fichiers ne sont pas lisibles.

 

Notez qu'on peut lancer en ligne de commandes tout un fichier script: avec le code s suivi d'un paramètre donnant le nom d'un fichier script, par exemple /s="Mes Documents\script.txt" a pour effet de lancer ImageGrab et de lui faire exécuter tout le script indiqué, qui peut contenir des dizaines de commandes.

retour au haut de la pageanigray07_up.gif

. Quelques exemples de scripts

 

Exemple1: on a un dossier d:\video rempli de fichiers avi, et on veut récupérer la 5ème image et l'image après 1 seconde de chaque fichier, au format bmp, sans avoir à confirmer qu'il faut effacer les fichiers existants.

 

    -confirm pour ne pas avoir à confirmer l'écrasement d'images existantes

    +bmp enregistrer au format bmp

    +open="c:\video\*.avi" traiter tous les fichiers avi du dossier c:\video

    +position=0:00:00:05  se positionner à la 5ème image

    +grab extraire et enregistrer l'image

    +position=0:00:01:00 avancer à la position 1seconde

    +grab extraire l'image courante

    +next exécuter la boucle sur tous les fichiers demandés

 

Exemple 2: On veut créer une macro-commande qui récupère une image toutes les 30 secondes du fichier vidéo courant supposé déjà chargé dans ImageGrab. Ces images doivent toutes être enregistrées avec comme racine le nom du fichier limité à 8 caractères auquel on ajoute un numéro commençant à 1. Elles vont être sauvées dans un dossier d:\images, dont il faudra écraser les images existantes. Elles sont toutes en Jpeg de qualité 75 et avec leur aspect normal. On crée alors un script qui ne charge pas de nouveau fichier, mais qui s'appliquera à la vidéo courante préalablement chargée dans ImageGrab. On a ainsi sous la main une commande bien formattée.

 

    +ratio_normal forcer l'aspect ratio normal

    -confirm ne pas demander de confirmation avant d'écraser les fichiers existants

    +j=75 les images seront en Jpeg de qualité 75

    +filename=8   prendre pour racine le nom de la vidéo limité à 8 caractères"

    +add_num=0001 ajouter un numéro, qui commence à 1 et qui sera noté sur 4 digits

    +dest_folder="d:\images" choisir le dossier de destination (NB:si le dossier n'existe pas il sera créé)

    +show_intervallo afficher l'intervallomètre

    +intervallo="30 secondes" déclencher l'intervallomètre toutes les 30 secondes

    -show_intervallo masquer l'intervallomètre

     

Exemple3:  On a des fichiers wmv dans un dossier. On veut faire un diaporama qui affiche la première image de chaque fichier pendant 10 secondes affichée en plein écran.

 

    +open="c:\video\*.wmv" ouvrir les fichiers wmv du dossier c:\video

    +position=0:00:00:00 se positionner au début

    +full_screen mettre en plein écran

    +wait=10000 attendre 10000 millisecondes

    +next boucler avec le fichier suivant

     

 

Dans les scripts qui précèdent, les commentaires peuvent être inclus sans changement dans le fichier texte. Ils n'altèrent pas l'exécution du script, dès lors qu'aucun mot ne commence par +, / ou - et qu'ils sont séparés du code utile par au moins un blanc. Cela facilitera la maintenance ultérieure du fichier script.

 

retour au haut de la pageanigray07_up.gif

 

 

 

Les pages d'aide d'Imagegrab