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 :

VBSript : Traitement d'image (Exif)


Sujet :

VBScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    RAS
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : RAS
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Points : 25
    Points
    25
    Par défaut VBSript : Traitement d'image (Exif)
    Bonjour,

    Je cherche à effectuer par un traitement de masse en VBSript des modification d'images.
    • Supperposer 3 à 6 images -> ça marche
    • Faire pivoter l'image -> pas encore cherché
    • Inscrire dans l'Exif des informations -> ça marche pas
    • Inscruster sur l'image une information -> pas encore cherché


    Pour ceci je me suis aidé d'un tutoriel d'ici : silkyroad.developpez.com -> VBA -> WindowsImageAcquisition

    Voici le code

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
     
    	Dim MonChemin
    	MonChemin = AfficheRepCourant()
    			Function AfficheRepCourant()
    				Dim path
    				path = WScript.ScriptFullName
    				AfficheRepCourant = Left(path, InStrRev(path, "\"))
    			End Function
     
    	Dim Image01, Image0102, Image03, Image04, Image05, ImageFinal
    	Image01 = (MonChemin & "ImageCombinee.jpg")
    	ImageFinal = (MonChemin & "ImageCombineeExif.jpg")
     
    '	Sub creation_TAG_TITRE_copieImage()
        Dim Img 	'	As ImageFile
        Dim IP 		'	As ImageProcess
        Dim v 		'	As Vector
        Dim i 		'	As Integer
     
        ' Création conteneur pour l'image à manipuler
    		Set Img = CreateObject("WIA.imageFile")
        ' creation du gestionnaire de filtre
    		Set IP = CreateObject("WIA.imageProcess")
        ' création d'un vecteur
        '(Un vecteur permet de créer une collection pour des valeurs du même type.) 
    		Set v = CreateObject("WIA.Vector")
        ' chargement de l'image
    		Img.LoadFile Image01
     
    	' définit le filtre pour gérer l'EXIF
    		IP.Filters.Add IP.FilterInfos("Exif").FilterID
    		IP.Filters(1).Properties("ID") = 40091
    			' 40091  Titre
    			' 40092  Commentaire
    			' 40093  Auteur
    			' 40094  Mots clés  
    		' spécifie le type de valeur pour le propriété du filtre:
    		' constante VectorOfBytesImagePropertyType = 1101 (la valeur est un vecteur)
    		IP.Filters(1).Properties("Type") = VectorOfBytesImagePropertyType
    		' voir le fichier d'aide fourni avec la librairie WIA pour 
    		' obtenir la liste des constantes disponibles
        ' stocke une chaine de caractères dans le vecteur
    		v.SetFromString "Test de TAG 'TITRE' : utilisation de WIA v2.0"
        ' applique au filtre le contenu du vecteur  
    		IP.Filters(1).Properties("Value") = v
     
     
    	' définit le filtre pour gérer l'EXIF
    		IP.Filters.Add IP.FilterInfos("Exif").FilterID
    		IP.Filters(2).Properties("ID") = 40092
    		IP.Filters(2).Properties("Type") = VectorOfBytesImagePropertyType
    		v.SetFromString "Test de TAG 'Commentaire' : utilisation de WIA v2.0"
    		IP.Filters(2).Properties("Value") = v
     
    	' définit le filtre pour gérer l'EXIF
    		IP.Filters.Add IP.FilterInfos("Exif").FilterID
    		IP.Filters(3).Properties("ID") = 40093
    		IP.Filters(3).Properties("Type") = VectorOfBytesImagePropertyType
    		v.SetFromString "Test de TAG 'Auteur' : utilisation de WIA v2.0"
    		IP.Filters(3).Properties("Value") = v
     
     
     
    	' application du filtre dans l'image
    	Set Img = IP.Apply(Img)
     
        ' sauvegarde de l'image
        Img.SaveFile ImageFinal
    ' End Sub

    Et mon message d'erreur et le suivant :
    Nom : Capture.PNG
Affichages : 468
Taille : 12,0 Ko

    Ce qui me fais penser que j'ai rater quelque chose dans les commentaire de Silkyroad.
    IP.Filters(1).Properties("ID") = 40091
    ' 40091 Titre
    ' 40092 Commentaire
    ' 40093 Auteur
    ' 40094 Mots clés
    ' spécifie le type de valeur pour le propriété du filtre:
    ' constante VectorOfBytesImagePropertyType = 1101 (la valeur est un vecteur)
    IP.Filters(1).Properties("Type") = VectorOfBytesImagePropertyType
    Et là je bute un peux...


    Quelqu'un peux m'aider a trouver c'est etat qui m'echape?

    Merci D'avance.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    RAS
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : RAS
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Points : 25
    Points
    25

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    RAS
    Inscrit en
    Mai 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : RAS
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 27
    Points : 25
    Points
    25
    Par défaut Erreur non spécifiée : WIA.ImageProcess.1
    Bonjour,

    Apres plusieurs recherche.
    l’erreur : Type de propriété non valide. La propriété Type doit être une valeur de l’énumération WiaImagePropertyType.
    Est maintenant Résolu
    voici le bon bout du code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	' Définit le filtre pour gérer l'EXIF
    		IP.Filters.Add IP.FilterInfos("Exif").FilterID
    		IP.Filters(1).Properties("ID") = 40091
    			' 40091  Titre
    		' spécifie le type de valeur pour le propriété du filtre:
    		' constante VectorOfBytesImagePropertyType = 1101 (la valeur est un vecteur)
    		VectorOfBytesImagePropertyType = 1105
    		IP.Filters(1).Properties("Type") = VectorOfBytesImagePropertyType
    		' voir le fichier d'aide fourni avec la librairie WIA pour obtenir la liste 
    		' des constantes disponibles stocke une chaine de caractères dans le vecteur
    		v.SetFromString "Test de TAG 'TITRE' : utilisation de WIA v2.0"
        ' applique au filtre le contenu du vecteur  
    		IP.Filters(1).Properties("Value") = v
    Pour les deux autres (sans les commentaires)

    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
    	' définit le filtre pour gérer l'EXIF
    		IP.Filters.Add IP.FilterInfos("Exif").FilterID
    		IP.Filters(2).Properties("ID") = 40092
    		VectorOfBytesImagePropertyType = 1105
    		IP.Filters(2).Properties("Type") = VectorOfBytesImagePropertyType
    		v.SetFromString "Test de TAG 'Commentaire' : utilisation de WIA v2.0"
    		IP.Filters(2).Properties("Value") = v
     
    	' définit le filtre pour gérer l'EXIF
    		IP.Filters.Add IP.FilterInfos("Exif").FilterID
    		IP.Filters(3).Properties("ID") = 40093
    		VectorOfBytesImagePropertyType = 1105
    		IP.Filters(3).Properties("Type") = VectorOfBytesImagePropertyType
    		v.SetFromString "Test de TAG 'Auteur' : utilisation de WIA v2.0"
    		IP.Filters(3).Properties("Value") = v
     
    	' application du filtre dans l'image
    	Set Img = IP.Apply(Img)
     
    	' sauvegarde de l'image
    	Img.SaveFile (ImageFinal)

    Mais voila, c'est pas tous maintenant j'ai ce problème :
    Ligne : 18 (par rapport au deuxième bout de code)
    Caract ; 2
    Erreur : Erreur non spécifiée
    Code : 80004005
    Source : WIA.ImageProcess.1


Discussions similaires

  1. Traitement d'images : quel langage?
    Par belasri dans le forum Langages de programmation
    Réponses: 19
    Dernier message: 07/10/2005, 09h59
  2. Réponses: 5
    Dernier message: 15/01/2005, 18h29
  3. commande c++ pour le traitement d'images
    Par mateo.14 dans le forum MFC
    Réponses: 2
    Dernier message: 12/01/2005, 10h46
  4. [lib] Traitement d'images
    Par Gogoye dans le forum Multimédia
    Réponses: 4
    Dernier message: 19/11/2004, 16h15
  5. Traitements d'image sur PNG avec transparence
    Par Ingham dans le forum Langage
    Réponses: 16
    Dernier message: 02/08/2004, 16h42

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