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

VB 6 et antérieur Discussion :

[VB6] Couper une image


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Par défaut [VB6] Couper une image
    Bonjour,

    Je cherche à couper un petit bandeau en bas d'une image par programmation.

    J'ai trouvé ce message : http://www.developpez.net/forums/sho...d.php?t=171249
    qui explique comment couper une image avec la librairie Windows Image Acquisition Automation Library v2.0.
    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
    Sub couperImage()
    Dim Img1 As Object, IP As Object
     
    Set Img1 = CreateObject("WIA.ImageFile")
    Set IP = CreateObject("WIA.ImageProcess")
     
    Img1.LoadFile ("C:\Documents and Settings\michel\dossier\fourmiz.jpg")
     
    IP.Filters.Add (IP.FilterInfos("Crop").FilterID)
    IP.Filters(1).Properties("Left") = Img1.Width / 6
    IP.Filters(1).Properties("Top") = Img1.Height / 6
    IP.Filters(1).Properties("Right") = Img1.Width / 6
    IP.Filters(1).Properties("Bottom") = Img1.Height / 6
    Set Img1 = IP.Apply(Img1)
     
    Img1.SaveFile ("C:\sauvegarde_Image_Coupee.jpg")
    End Sub
    Cette source fonctionne trés bien, le problème c'est que je n'arrive pas à trouver les bonnes valeurs pour IP.Filters(1).Properties("Left") etc... pour couper seulement un petit bandeau d'une 10 aine de pixels de haut en bas de mon image et qui prends toute la largeur de mon image.

    Merci d'avance de votre aide !


    PS : Je travaille sur des .bmp

  2. #2
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Citation Envoyé par Vince
    Bonjour,

    Je cherche à couper un petit bandeau en bas d'une image par programmation.

    J'ai trouvé ce message : http://www.developpez.net/forums/sho...d.php?t=171249
    qui explique comment couper une image avec la librairie Windows Image Acquisition Automation Library v2.0.
    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
    Sub couperImage()
    Dim Img1 As Object, IP As Object
     
    Set Img1 = CreateObject("WIA.ImageFile")
    Set IP = CreateObject("WIA.ImageProcess")
     
    Img1.LoadFile ("C:\Documents and Settings\michel\dossier\fourmiz.jpg")
     
    IP.Filters.Add (IP.FilterInfos("Crop").FilterID)
    IP.Filters(1).Properties("Left") = Img1.Width / 6
    IP.Filters(1).Properties("Top") = Img1.Height / 6
    IP.Filters(1).Properties("Right") = Img1.Width / 6
    IP.Filters(1).Properties("Bottom") = Img1.Height / 6
    Set Img1 = IP.Apply(Img1)
     
    Img1.SaveFile ("C:\sauvegarde_Image_Coupee.jpg")
    End Sub
    Cette source fonctionne trés bien, le problème c'est que je n'arrive pas à trouver les bonnes valeurs pour IP.Filters(1).Properties("Left") etc... pour couper seulement un petit bandeau d'une 10 aine de pixels de haut en bas de mon image et qui prends toute la largeur de mon image.

    Merci d'avance de votre aide !


    PS : Je travaille sur des .bmp
    Je ne connais pas cette librairie, mais je pense que les proprités left et right
    devraient etre 0 et Img1.Width pour couvrir la largeur de l'image. D'apres ce que je comprends

  3. #3
    Membre chevronné Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Par défaut
    Citation Envoyé par Delbeke
    Je ne connais pas cette librairie, mais je pense que les proprités left et right
    devraient etre 0 et Img1.Width pour couvrir la largeur de l'image. D'apres ce que je comprends
    J'essaie de jouer avec les paramètres depuis tout à l'heure et j'ai toujours des erreurs du genre "Marges Invalides et spécifiées négatives ou dimensions de l'image vide" (traduit à l'arache de l'anglais ).

    Ce que je vais faire c'est créer une image qui illustre ce que je cherche à faire pour faciliter vos réponses. Le temps de la créer et je la poste !

  4. #4
    Membre chevronné Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Par défaut


    Cette image représente l'image que je veux couper et le rectangle rouge est la zone à supprimer.

    Rectangle Rouge à supprimer :
    Largeur : taille de l'image
    Hauteur : h

    Quelles sont les valeurs que je dois mettre ?

  5. #5
    Membre chevronné Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Par défaut
    C'est bon j'ai trouvé (enfin mon collègue qui vient de revenir et qui est trop balèse Fred à trouvé)
    En fait ce sont des marges que l'on défini.

    Par exemple si je veux couper un bandeau de 10 pixels (voir image précédente) de hauteur les paramètres sont :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    IP.Filters(1).Properties("Left") = 0
    IP.Filters(1).Properties("Top") = 0
    IP.Filters(1).Properties("Right") = 0
    IP.Filters(1).Properties("Bottom") = 10
    MERCI FRED !!!!!!!!!!!!!!! T'es le meilleur !!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6] Afficher une image de bonne qualité dans un form
    Par hpfx dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 10/05/2006, 12h23
  2. [VB6] Compiler une image dans un exe
    Par Vince dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 27/04/2006, 08h27
  3. [VB6]ouvrir une image a partir d'un listbox
    Par patoch76 dans le forum VB 6 et antérieur
    Réponses: 26
    Dernier message: 25/04/2006, 21h06
  4. [VB6] Insérer une image dans Excel
    Par ShortcutZ dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/04/2006, 15h39
  5. [VB6] mettre une image sur un boutton
    Par dim dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 15/02/2004, 01h28

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