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 :

Detecter le poids d'une image avec l'objet DOM


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Points : 92
    Points
    92
    Par défaut Detecter le poids d'une image avec l'objet DOM
    Bonjour a tous,

    Voici mon petit questionnement. Est-ce possible de connaitre le poids d'une image d'un site web avec les bibliotheques Microsoft HTML Object Library et Microsoft Internet Controls de VB6?
    Si la reponse est non, est-ce qu'il existe une maniere autre que le download de l'image puis de son analyse lorsqu'elle se trouve sur le disque dur?

    merci pour toutes reponses
    Hana no iro wa
    Utsuri ni keri na

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonsoir

    j'espere que cet exemple pourra t'aider


    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
    Private Sub CommandButton3_Click()
        '********************************************
        'boucler sur toutes les images d'une page Web
        'pour recuperer l'adresse et les dimensions
        '********************************************
        'testé avec WinXP & Excel2002
        'nécéssite d'activer la référence Microsoft HTML Objects Library
        'nécéssite d'activer la référence Microsoft Internet Controls
        Dim IE As InternetExplorer
        Dim maPageHtml As HTMLDocument
        Dim imgHtml As HTMLImg
        Dim i As Integer
     
        Set IE = CreateObject("InternetExplorer.Application")
        IE.Visible = True
     
        IE.navigate "http://www.developpez.com"
            Do Until IE.readyState = READYSTATE_COMPLETE
            DoEvents
        Loop 'attend la fin du chargement pour continuer la procedure
     
        Set maPageHtml = IE.document
        'compte le nombre d'images dans la page
        Debug.Print "nombre d'images dans la page : " & maPageHtml.images.Length
     
        For i = 0 To maPageHtml.images.Length - 1 'boucle sur les images
            Set imgHtml = maPageHtml.images.Item(i)
     
            Debug.Print imgHtml.src 'adresse image
            Debug.Print imgHtml.fileSize & " octets"
            Debug.Print imgHtml.Width 'largeur image
            Debug.Print imgHtml.Height 'hauteur image
        Next i
    End Sub

    bonne soiree
    michel

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Points : 92
    Points
    92
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print imgHtml.fileSize & " octets"
    ahh merci! je cherchais comme un debile dans les proprietes sans rien trouve!

    Hana no iro wa
    Utsuri ni keri na

  4. #4
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Points : 92
    Points
    92
    Par défaut
    hmm J'aurai encore besoin d'une intervention...

    la propriete fileSize de mon objet de type HTMLImg ne me retourne que -1 peut importe l'image et son poids reel...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
                If objHtml.tagName = "IMG" Then
                    Set objIMG = objHtml
                    Debug.Print objIMG.fileSize & " octets" ' ne me retourne que -1 ??
                    If objIMG.Width = "100" And objIMG.Height = "67" And _
                        InStr(1, objIMG.src, "images.lendingtree.com", vbTextCompare) > 0 Then
                        If objIMG.fileSize < 4500 Then ' ici ca passe toujours...:( 
                            strImage = objIMG.src
                        End If
                    End If
                End If
    Est-ce que je fais quelque chose de bizarre?
    Hana no iro wa
    Utsuri ni keri na

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    c'est difficile de répondre sans voir l'ensemble de ta procédure


    bon apres midi
    michel

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Points : 92
    Points
    92
    Par défaut
    voici la fonction complete...

    la difference notable par rapport a ton code c'est la boucle je crois.
    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
     
    Private Sub ExtraireInfoImage(url As String)
        Dim doc As HTMLDocument
        Dim objHtml as Variant
        Dim objIMG As HTMLImg
     
        Set doc = getHTMLDocument(url)
        Call WaitForReadyState
        For Each objHtml In doc.All
                DoEvents
     
                If objHtml.tagName = "IMG" Then
                    Set objIMG = objHtml
                    Debug.Print objIMG.fileSize & " octets" ' ne me retourne que -1 ??
                    If objIMG.Width = "100" And objIMG.Height = "67" And _
                        InStr(1, objIMG.src, "images.lendingtree.com", vbTextCompare) > 0 Then
                        If objIMG.fileSize < 4500 Then ' ici ca passe toujours...:( 
                            collection_image.add(objIMG.src)
                        End If
                    End If
                End If
        Next objHtml
        set doc = nothing
    End Sub
    Hana no iro wa
    Utsuri ni keri na

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    Je n'ai pas testé la macro car tu ne montres pas les sous procédures getHTMLDocument et WaitForReadyState


    A tout hasard, tu peux essayer cette adaptation

    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
    Private Sub ExtraireInfoImage(url As String)
        Dim doc As HTMLDocument
        Dim objIMG As HTMLImg
     
        Set doc = getHTMLDocument(url)
        Call WaitForReadyState
     
        For Each objIMG In doc.images
                DoEvents
     
                Debug.Print objIMG.fileSize & " octets"
     
                If objIMG.Width = 100 And objIMG.Height = 67 And _
                   InStr(1, objIMG.src, "images.lendingtree.com", vbTextCompare) > 0 Then
                    If objIMG.fileSize < 4500 Then collection_image.Add (objIMG.src)
                End If
        Next objIMG
        Set doc = Nothing
    End Sub


    bon apres midi
    michel

Discussions similaires

  1. Réponses: 8
    Dernier message: 16/12/2011, 15h53
  2. Réponses: 4
    Dernier message: 15/03/2008, 11h13
  3. Afficher une image avec swing
    Par arnonote dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 07/08/2004, 12h10
  4. [Débutante] Création d'une image avec un composant
    Par gwendo dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 09/07/2004, 09h58
  5. PL/SQL - Comment afficher une image avec HTP ?
    Par patmaba dans le forum PL/SQL
    Réponses: 2
    Dernier message: 08/07/2004, 09h28

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