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

Macros et VBA Excel Discussion :

VBA & IE - Enregistrement image PNG


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 10
    Points
    10
    Par défaut VBA & IE - Enregistrement image PNG
    Bonjour,

    J'utilise depuis quelques temps l'excellent tuto http://qwazerty.developpez.com/tutor...-et-vba-excel/ fait par http://www.developpez.net/forums/u723/qwazerty/.
    Néanmoins, je me heurte à un problème bien spécifique.

    Je cherche à automatiser l'enregistrement d'images PNG.
    Ces images PNG décrivent le couvert forestier d'un département et je cherche, dans un cadre privé, à avoir la possibilité de reconstituer avec précision la couverture globale d'un département.

    Ainsi donc à l'adresse http://inventaire-forestier.ign.fr/c...ficherCarto/58 un visuel est disponible.
    En utilisant l'inspection d'éléments sous Chrome ou autres, j'ai pu remarquer rapidement que la requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://inventaire-forestier.ign.fr/cartov2/proxy/getTile?LAYERS=v58tf&TRANSPARENT=true&VISIBILITY=true&FORMAT=image%2FPNG&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A27572&BBOX=666938.372965495,2193033.3729654946,711035.57137523,2237130.57137523&WIDTH=1000&HEIGHT=1000
    permettait d'atteindre une image spécifique.

    En jouant avec les bornes X/Y de la zone, en coordonnées Lambert 2 étendu, ainsi qu'avec les valeurs de BBOX, il était possible de cibler une zone bien défini et d'obtenir une image précise du couvert forestier sur celle-ci.

    La requête n'est utilisable que si la fenêtre de visualisation à l'adresse http://inventaire-forestier.ign.fr/c...ficherCarto/58 est ouverte.
    Je pressens l'utilisation de cookies.

    Initialement, je pensais m'en sortir rapidement en utilisant la méthode décrite au point IV-J. Télécharger un fichier du tuto.

    L'analyse de la page web affichée suite à la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://inventaire-forestier.ign.fr/cartov2/proxy/getTile?LAYERS=v58tf&TRANSPARENT=true&VISIBILITY=true&FORMAT=image%2FPNG&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A27572&BBOX=666938.372965495,2193033.3729654946,711035.57137523,2237130.57137523&WIDTH=1000&HEIGHT=1000
    donne:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <html>
    <head>
    <meta name="viewport" content="width=device-width, minimum-scale=0.1"><title>getTile (1000×1000)</title>
    </head>
    <body style="margin: 0px;">
    <img style="-webkit-user-select: none; cursor: zoom-in;" src="http://inventaire-forestier.ign.fr/cartov2/proxy/getTile?LAYERS=v58tf&amp;TRANSPARENT=true&amp;VISIBILITY=true&amp;FORMAT=image%2FPNG&amp;SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetMap&amp;STYLES=&amp;EXCEPTIONS=application%2Fvnd.ogc.se_inimage&amp;SRS=EPSG%3A27572&amp;BBOX=666938.372965495,2193033.3729654946,711035.57137523,2237130.57137523&amp;WIDTH=1000&amp;HEIGHT=1000" width="939" height="939">
    </body>
    </html>

    Or, aucune image n'est décrite dans le src. L'adaptation de la macro décrite dans le tuto permet bien de charger l'adresse et afficher l'image dans une fenêtre IE mais ImgElem reste désespérément vide et WinHttpReq.Status renvoie un code 404 "Not found".

    Ci joint la bidouille de code qui demande de charger, avant d’exécuter la macro, dans une fenêtre IE le visualisateur à l'adresse http://inventaire-forestier.ign.fr/c...ficherCarto/58:
    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
    Sub ImageSite()
    Dim IE As New InternetExplorer
    Dim IEDoc As HTMLDocument
    Dim TableObj As HTMLGenericElement
     
    Dim htmlTagCol As IHTMLElementCollection
    Dim ImgElem As HTMLImg
    Const CheminRep As String = "E:\#GIS\Shapefiles\Inventaire forestier IGN\Extraction IFN V2\Essai automatisation excel\essai\"
     
       'Ouvre la page Web
       IE.navigate "http://inventaire-forestier.ign.fr/cartov2/proxy/getTile?LAYERS=v58tf&TRANSPARENT=true&VISIBILITY=true&FORMAT=image%2FPNG&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A27572&BBOX=640480,2281227,642480,2283227&WIDTH=1000&HEIGHT=1000"
       IE.Visible = True
       WaitIE IE
       Set IEDoc = IE.document
     
       'On recherche l'élément contenant le logo
       Set htmlTagCol = IEDoc.getElementsByTagName("img")
       For Each TableObj In htmlTagCol
            Set ImgElem = TableObj
       Next
     
       'On crée le répertoire où sera placée l'image
       'Si celui-ci existe déjà on ne gère pas l'erreur retournée et on passe à la suite
       On Error Resume Next
       MkDir CheminRep
       On Error GoTo 0 'On réactive la gestion d'erreur
     
       'On passe le chemin de l'image et le répertoire où elle sera copiée
       SaveHtmlFile ImgElem.href, CheminRep & "essai.png"
     
    End Sub
     
    Sub SaveHtmlFile(aUrl As String, aDestination As String)
    'Pris sur le forum de la msdn (avec quelques menues modifs)
    'http://social.msdn.microsoft.com/Forums/en/isvvba/thread/bd0ee306-7bb5-4ce4-8341-edd9475f84ad
    Dim WinHttpReq As Object, oStream As Object
    Dim TheURL As String
     
       On Error Resume Next 'On ne gère pas les erreurs
     
       Set WinHttpReq = New WinHttp.WinHttpRequest 'CreateObject("Microsoft.XMLHTTP")
       WinHttpReq.Open "GET", aUrl, False
       WinHttpReq.send
     
       TheURL = WinHttpReq.responseBody
     
       If WinHttpReq.Status = 200 Then
          Set oStream = CreateObject("ADODB.Stream")
          oStream.Open
          oStream.Type = 1
          oStream.Write WinHttpReq.responseBody
          oStream.SaveToFile aDestination
          oStream.Close
       End If
    End Sub
    Sub WaitIE(IE As InternetExplorer)
       'On boucle tant que la page n'est pas totalement chargée
       Do Until IE.readyState = READYSTATE_COMPLETE
          DoEvents
       Loop
    End Sub
    Qu'en pensez-vous ? Auriez-vous une idée ou une piste permettant de résoudre ce problème ?

    Merci,

    Michel

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut heu
    Bonjour

    fait une recherche sur le forum et les contrib avec indice de recherche l'identifiant "MarcL" tu trouvera comment on remplace les symboles"%" et autre dans une url pour la rendre valide dans une requête ca viens de la a mon avis

    essai déjà ca avant de passer l'url a savefile

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    url=replace(replace(url,"%3A","/"),"%2F","/")
    mais je ne garanti rien
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Le fait de remplacer les caractères spéciaux en hexa par leur équivalent en clair ne change rien.

    La fonction "SaveHtmlFile" reste inopérante, tout du moins WinHttpReq.Status = 404

    Cela pourrait-il être un problème de proxy ?

    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
     
    Remote Address:109.237.243.102:80
    Request URL:http://inventaire-forestier.ign.fr/cartov2/proxy/getTile?LAYERS=v58tf&TRANSPARENT=true&VISIBILITY=true&FORMAT=image%2FPNG&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A27572&BBOX=640480,2281227,642480,2283227&WIDTH=1000&HEIGHT=1000
    Request Method:GET
    Status Code:200 OK
    Request Headersview source
    Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Encoding:gzip, deflate, sdch
    Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4
    Cache-Control:max-age=0
    Connection:keep-alive
    Cookie:PHPSESSID=b363575943e0922584ccb4d89450f888; _pk_ref.14.2c42=%5B%22%22%2C%22%22%2C1425468138%2C%22http%3A%2F%2Fwww.developpez.net%2Fforums%2Fd1501227%2Flogiciels%2Fmicrosoft-office%2Fexcel%2Fmacros-vba-excel%2Fvba-ie-pb-enregistrement-image-png%2F%22%5D; _pk_id.14.2c42=32fac98bf1d4abd6.1424600124.16.1425468243.1425371609.; _pk_ses.14.2c42=*
    Host:inventaire-forestier.ign.fr
    User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36
    Query String Parametersview sourceview URL encoded
    LAYERS:v58tf
    TRANSPARENT:true
    VISIBILITY:true
    FORMAT:image/PNG
    SERVICE:WMS
    VERSION:1.1.1
    REQUEST:GetMap
    STYLES:
    EXCEPTIONS:application/vnd.ogc.se_inimage
    SRS:EPSG:27572
    BBOX:640480,2281227,642480,2283227
    WIDTH:1000
    HEIGHT:1000
    Response Headersview source
    Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Connection:Keep-Alive
    Content-Type:image/png
    Date:Wed, 04 Mar 2015 11:46:59 GMT
    Expires:Thu, 19 Nov 1981 08:52:00 GMT
    Keep-Alive:timeout=5, max=100
    Pragma:no-cache
    Server:Apache/2.2.22 (FreeBSD) mod_auth_kerb/5.4 DAV/2 PHP/5.3.13 with Suhosin-Patch
    Transfer-Encoding:chunked
    X-Powered-By:PHP/5.3.13

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    ho puré oui il y a de forte chance que le header soit requis pour la requette
    il va te falloir l'intégrer a ta fonction savehtmlfile
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    C'est à ce moment que je déconnecte !

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut e
    sais tu te servir de l'inspecteur de document F12 sur internet explorer ??????
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Oui, tout du moins, je sais qu'il existe. J'utilise plus celui de Chrome.

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    je suppose que ca doit marcher de la même manière
    tu doit pouvoir enregistrer les évènement
    c'est comme ca que je fait pour avoir le rendu des requête

    l'url de base c'est quoi ?;je vais voir si je peut en tirer quelque chose

    j'ai regardé l'inpecteur et ca donnerait ca normalement

    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
    Sub SaveHtmlFile(aUrl As String, aDestination As String)
    'Pris sur le forum de la msdn (avec quelques menues modifs)
    'http://social.msdn.microsoft.com/Forums/en/isvvba/thread/bd0ee306-7bb5-4ce4-8341-edd9475f84ad
    Dim WinHttpReq As Object, oStream As Object
    Dim TheURL As String
     
       On Error Resume Next 'On ne gère pas les erreurs
     
       Set WinHttpReq = New WinHttp.WinHttpRequest 'CreateObject("Microsoft.XMLHTTP")
       WinHttpReq.Open "GET", aUrl, False
       WinHttpReq.setRequestHeader "Accept", " image/png, image/svg+xml, image/*;q=0.8, */*;q=0.5"
    WinHttpReq.setRequestHeader "Accept-Language", "fr-FR"
    WinHttpReq.setRequestHeader "User-Agent", " Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)"
    WinHttpReq.setRequestHeader "Accept-Encoding", "gzip, deflate"
    WinHttpReq.setRequestHeader "Referer","http://inventaire-forestier.ign.fr/cartov2/carto/afficherCarto/58"
    WinHttpReq.setRequestHeader "Host", "inventaire-forestier.ign.fr"
    WinHttpReq.setRequestHeader "DNT", 1
    WinHttpReq.setRequestHeader "Connection", "Keep - Alive"
    WinHttpReq.send
     
       TheURL = WinHttpReq.responseBody
     
       If WinHttpReq.Status = 200 Then
          Set oStream = CreateObject("ADODB.Stream")
          oStream.Open
          oStream.Type = 1
          oStream.Write WinHttpReq.responseBody
          oStream.SaveToFile aDestination
          oStream.Close
       End If
    mais je ne garanti rien sachant que c'est un BIN qui crée l'image

    je cherche ,je cherche

    c'est bien ce que je pensais c'est une application qui reconstruit les portions d'image avec les coordonnées dans l'url

    c'est choux blanc a mon avis il va te falloir trouver un autre moyen ou une autre source
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  9. #9
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut une bonne nouvelle
    bon allez apres des déboires avec une requette j'ai bifurqué a 360°

    on utilisera l'api "URLDownloadToFile" qui elle visiblement gere la transition application to image
    ma sub telecharge toutes les images disponible et te crée un dossier au meme endroit ou se trouve le classeur et te les enregistre avec pour nom le id qu'elles ont dans la page html

    met ce code dans un module standard
    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
    Option Explicit
    Public Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal _
                                                                                                                                      szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
     
     
    Sub download_all_image(url, chemin, ext)
        Dim Ie As Object, ret As Long, listeimage As Object, i As Long
            With ActiveSheet
            .Columns("A:c").ClearContents
            Set Ie = CreateObject("internetexplorer.application")
            Ie.Navigate url
            Ie.Visible = True
            'Do: DoEvents: Loop Until Ie.ReadyState = 4
            Do While Ie.Busy Or Ie.ReadyState <> READYSTATE_COMPLETE: DoEvents: Loop
     
            Set listeimage = Ie.Document.getelementsbyclassname("olTileImage")
            create_dossier (chemin)
            For i = 0 To listeimage.Length - 1
                ret = URLDownloadToFile(0, listeimage(i).src, chemin & listeimage(i).ID & ".png", 0, 0)
                .Cells(i + 2, 1) = listeimage(i).ID & "png"
                .Cells(i + 2, 2) = "Téléchargée"
            .Cells(i + 2, 3) = listeimage(i).src
            Next
        End With
    Ie.Quit
    End Sub
    Sub create_dossier(dossier)
        On Error Resume Next
        MkDir dossier
    End Sub
     Sub test
    url = "http://inventaire-forestier.ign.fr/cartov2/carto/afficherCarto/58"
    chemin = ThisWorkbook.Path & "\imagedownload\"
    ext = "png"
    download_all_image url, chemin, ext
    End Sub
    ou essaie ce fichier click sur le bouton et attend

    bon j'ai bien galéré alors je vais me coucher
    Fichiers attachés Fichiers attachés
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Ah oui ! Quand même !

    J'essaye de prendre le relais ;-)

    Merci beaucoup !

    Effectivement le code fonctionne et enregistre le fond cartographique mais pas la surcouche forestière.

    En fait, je recherche à enregistrer les images représentant le fond forestier :

    Nom : 1000x1000.png
Affichages : 1442
Taille : 12,4 Ko

    Pour ce faire, je joue avec les coordonnées BBOX de l'adresse ainsi qu'avec la taille maximale de l'image renvoyée via WIDTH et HEIGHT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    http://inventaire-forestier.ign.fr/cartov2/proxy/getTile?LAYERS=v58tf&TRANSPARENT=true&VISIBILITY=true&FORMAT=image%2FPNG&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A27572
    &BBOX=640480,2281227,642480,2283227
    &WIDTH=1000&HEIGHT=1000
    L'image ci-dessous est enregistrée, pour le moment, via un click droit, enregistrer l'image sous ....

    Cette adresse ne renvoie une image que si et seulement si une autre fenêtre IE est ouverte à l'adresse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://inventaire-forestier.ign.fr/cartov2/carto/afficherCarto/58
    Lorsque je reprends la routine et que je force à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://inventaire-forestier.ign.fr/cartov2/proxy/getTile?LAYERS=v[B]58 .... &BBOX=640480,2281227,642480,2283227&WIDTH=1000&HEIGHT=1000
    tout en changeant par une constante string de type "essai", listeimage n'ayant pas d'ID, aucune image n'est enregistrée.

    La fonction URLDownloadToFile renvoie -2146697210 soit, si j'en crois http://www.utteraccess.com/forum/Dow...-t1970707.html, -2146697210 = "file not found".

    Je sens que je vais émuler les clicks droits et "enregistrer image sous", cela va être lourd dingue et long !

    Serais-je confronter au problème décrit ici

  11. #11
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut

    Je viens de regarder le site IGN que tu utilises.
    Alors en fait il fonctionne en couche, si tu connais des logiciel de dessin du style de photosop ou autocad, c'est ce principe de fonctionnement. Si tu ne connais pas, imagine que tu utilises du papier calque transparent, sur un premier tu dessines ton fond de plan, sur un deuxième ta couverture forestière, puis ensuite tu viens superposer les deux calques.

    Si tu regardes bien ta page web elle fonctionne de la même manière
    Code html : 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
    <div id="OpenLayers.Layer.WMS_10" class="olLayerDiv" style="position: absolute; width: 100%; height: 100%; z-index: 340;"><div style="overflow: hidden; position: absolute; z-index: 1; left: 1209px; top: 374px; width: 500px; height: 500px;">
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: 709px; top: 374px; width: 500px; height: 500px;">
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: 209px; top: 374px; width: 500px; height: 500px;">
    <img id="OpenLayersDiv211" class="olTileImage" style="width: 500px; height: 500px; position: relative;" src="http://mapserv.ifn.fr/cgi-bin/tilecache?&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&LAYERS=departements&TRANSPARENT=true&VISIBILITY=true&FORMAT=image%2FPNG&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A27572&BBOX=684577.2523293889,2259179.1705800975,688986.9721703624,2263588.890421071&WIDTH=500&HEIGHT=500">
     
     
    </div>
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: -291px; top: 374px; width: 500px; height: 500px;">
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: 1709px; top: 374px; width: 500px; height: 500px;">
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: 1709px; top: -126px; width: 500px; height: 500px;">
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: 1209px; top: -126px; width: 500px; height: 500px;">
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: 709px; top: -126px; width: 500px; height: 500px;">
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: 209px; top: -126px; width: 500px; height: 500px;">
    <img id="OpenLayersDiv233" class="olTileImage" style="width: 500px; height: 500px; position: relative;" src="http://mapserv-7.ifn.fr/cgi-bin/tilecache?LAYERS=departements&TRANSPARENT=true&VISIBILITY=true&FORMAT=image%2FPNG&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A27572&BBOX=684577.2523293889,2263588.890421071,688986.9721703624,2267998.6102620447&WIDTH=500&HEIGHT=500">
     
     
    </div>
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: -291px; top: -126px; width: 500px; height: 500px;">
     
     
    </div>
    <div id="OpenLayers.Layer.WMS_6" class="olLayerDiv" style="position: absolute; width: 100%; height: 100%; z-index: 345;">
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: 1209px; top: 374px; width: 500px; height: 500px;">
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: 709px; top: 374px; width: 500px; height: 500px;">
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: 209px; top: 374px; width: 500px; height: 500px;">
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: -291px; top: 374px; width: 500px; height: 500px;">
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: 1709px; top: 374px; width: 500px; height: 500px;">
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: 1709px; top: -126px; width: 500px; height: 500px;">
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: 1209px; top: -126px; width: 500px; height: 500px;">
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: 709px; top: -126px; width: 500px; height: 500px;">
     
    <div style="overflow: hidden; position: absolute; z-index: 1; left: 209px; top: -126px; width: 500px; height: 500px;">
    <img id="OpenLayersDiv188" class="olTileImage" style="width: 500px; height: 500px; position: relative;" src="http://inventaire-forestier.ign.fr/cartov2/proxy/getTile?LAYERS=v58tf&TRANSPARENT=true&VISIBILITY=true&FORMAT=image%2FPNG&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A27572&BBOX=684577.2523293889,2263588.890421071,688986.9721703624,2267998.6102620447&WIDTH=500&HEIGHT=500">
     
     
    </div>

    <div id="OpenLayers.Layer.WMS_10" contient tes images constituant le fond de plan et <div id="OpenLayers.Layer.WMS_6" qui contient les images représentant la couverture forestière. (Layer veut dire calque en anglais)

    L'image que tu donnes en exemple est prise dans le second Div, alors que je suppose que ton code utilise le 1er Div, il te suffit de corriger le tire dans ton code pour pointer le div contenant ta couverture forestière au lieu de celui contenant les fonds de plan.
    Si tu veux les deux en même temps... ça risque d'être plus compliqué, il va falloir te trouver une routine qui "additionne" les deux images superposées pour n'en faire qu'une (utilisation d'API graphique probablement, faut regarder du coté d'Arkham46).

    Après tout dépend de l'utilisation que tu vas faire de ces images?

    Bonne soirée
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Bonsoir,

    J'avais bien saisi le système de couche, c'est pour cela que je souhaite passer directement par l'adresse donnée dans le src :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <img id="OpenLayersDiv132" class="olTileImage" src="http://inventaire-forestier.ign.fr/cartov2/proxy/getTile?LAYERS=v58tf&amp;TRANSPARENT=true&amp;VISIBILITY=true&amp;FORMAT=image%2FPNG&amp;SERVICE=WMS&amp;VERSION=1.1.1&amp;REQUEST=GetMap&amp;STYLES=&amp;EXCEPTIONS=application%2Fvnd.ogc.se_inimage&amp;SRS=EPSG%3A27572&amp;BBOX=622841.17455576,2148936.17455576,711035.57137523,2237130.57137523&amp;WIDTH=500&amp;HEIGHT=500" style="width: 500px; height: 500px; position: relative;">

    Cela permet de définir précisément les coordonnées Lambert II étendu de la zone ainsi que la taille de l'image renvoyée (max : 1000 x 1000).

    Le but est de :

    Sur un département cartographié, récupérer l'ensemble des images (1000 x 1000 pixels) au pas de 2000 mètres = carré de 2000 x 2000 mètres, ce qui donne une résolution de 1 pixel = 2 mètres.
    Après avoir récupérer ces images, je les assemble (automatiquement ou non) afin de constituer une seule image sur le département.
    Cette image est géo-référencée sous QGIS, les points de géo-référencement sont sauvegardés.
    L'image est passée dans GIMP et chacune des couleurs est extraite puis sauvegardée.
    L'ensemble des images générées est géo-référencé en utilisant les points sauvegardés.
    Sous QGIS, les images géo-référencées sont vectorisés, les polygones ainsi créés sont assemblés dans un même shapefile tout en ayant un attribut conforme à l'essence d'arbre décrite.
    Le reste est un traitement mettant en oeuvre des informations d'altitude, d'orientation et de climat afin d'avoir des stats sur les essences forestières fonction de la localisation, altitude, orientation et climat.

    Bref du boulot :-)

    Pour en revenir au code, ce qui me surprend c'est que ce fond forestier n'est pas sauvegardé avec la routine de patricktoulon.
    Or
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set listeimage = Ie.Document.getelementsbyclassname("olTileImage")
    permet d'englober l'ensemble des class = olTileImage.
    Le "div"
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="OpenLayers.Layer.WMS_6" class="olLayerDiv" style="position: absolute; width: 100%; height: 100%; z-index: 345;">
    comporte bien des img dont la class est "olTileImage".

    Ceux-ci devraient être logiquement traités, or de mon coté ils ne le sont pas.

    Serait-ce un pb de mon coté ? Fort probable, mais je ne vois pas ou !

    Quoiqu'il en soit, merci beaucoup pour votre aide !

    PS: Je suis sous Office 64 bits, cela aurait-il une incidence ? >>>> Public Declare PtrSafe

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonjour
    relax richelsdorfite

    voila ma sub revu et corrigée elle te sauvegarde tout (les fonds et les morceaux(multicolores) représentant le type de végétation )
    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
    Sub download_all_image(url, chemin, ext)
        Dim Ie As Object, ret As Long, listeimage As Object, i As Long
            With ActiveSheet
            .Columns("A:c").ClearContents
            Set Ie = CreateObject("internetexplorer.application")
            Ie.Navigate url
            Ie.Visible = True
            'Do: DoEvents: Loop Until Ie.ReadyState = 4
            Do While Ie.Busy Or Ie.ReadyState <> READYSTATE_COMPLETE: DoEvents: Loop
    Set carte = Ie.Document.getelementbyid("cartodiv_OpenLayers_Container")
            Set listeimage = carte.getelementsbytagname("img")
            create_dossier (chemin)
            For i = 0 To listeimage.Length - 1
                ret = URLDownloadToFile(0, listeimage(i).src, chemin & listeimage(i).ID & ".png", 0, 0)
                .Cells(i + 2, 1) = listeimage(i).ID & "png"
                .Cells(i + 2, 2) = "Téléchargée"
            .Cells(i + 2, 3) = listeimage(i).src
            Next
        End With
    Ie.Quit
    End Sub
    et la sub pour la lancer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test2()
    url = "http://inventaire-forestier.ign.fr/cartov2/carto/afficherCarto/58"
    chemin = ThisWorkbook.Path & "\imagedownload\"
    ext = "png"
    download_all_image url, chemin, ext
    End Sub
    en changeant "58" pour un autre nombre tu a une autre région

    c'est beau la vie non?
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Merci pour cette nouvelle routine.

    De mon coté, cela ne fonctionne pas.

    En effet, les images du fond forestier ne sont pas enregistrées et le log de la valeur de la variable ret donne -2146697210.

    -2146697210 "file not found".
    -2146697211 "domain not found".
    -2147467260 "transfer aborted".

    Je mets en pièce jointe ma feuille excel. La dernière macro est dans le module "PatrickToulonbis".

    J'ai mis trois boucles :

    - Set carte = Ie.document.getElementById("OpenLayers.Layer.WMS_2").
    - Set carte = Ie.document.getElementById("OpenLayers.Layer.WMS_10").
    - Set carte = Ie.document.getElementById("OpenLayers.Layer.WMS_6").

    Les valeurs de "ret" sont enregistrées.

    Les images de WMS_6 ne sont pas enregistrées :-(

    En utilisant Developer Tolls de Chrome, onglet Network, l'ensemble des requêtes est analysé.
    Autant pour WMS_2 et WMS_10 , aucun cookie n'est requis autant pour WMS_6 nous avons :

    - Cookie:PHPSESSID=b363575943e0922584ccb4d89450f888; _pk_ref.14.2c42=%5B%22%22%2C%22%22%2C1425632564%2C%22http%3A%2F%2Fwww.developpez.net%2Fforums%2Fd1501227%2Flogiciels%2Fmicrosoft-office%2Fexcel%2Fmacros-vba-excel%2Fvba-ie-pb-enregistrement-image-png%2F%22%5D; _pk_id.14.2c42=32fac98bf1d4abd6.1424600124.24.1425632564.1425627374.; _pk_ses.14.2c42=*

    - Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0

    Quel sont de votre coté les valeurs de ret pour les images sous WMS_6 ?
    Fichiers attachés Fichiers attachés

  15. #15
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonjour Richelsdorfite
    j'ai le même soucis depuis ce matin hier ca fonctionnait pourtant


    pour les images(multicolore) j'ai bien un ret inferieur a zéro(-2......)

    j'avoue que je ne l'explique pas
    je cherche
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    J'ai l'impression que c'est un problème lié au cookies.

    Je cherche de mon coté.

    En utilisant WinHttp, je récupère le header reçu en réponse.

    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
       Set WinHttpReq = New WinHttp.WinHttpRequest 'CreateObject("Microsoft.XMLHTTP")
        WinHttpReq.Open "GET", aUrl, False
        WinHttpReq.setRequestHeader "Accept", " image/png, image/svg+xml, image/*;q=0.8, */*;q=0.5"
        WinHttpReq.setRequestHeader "Accept-Language", "fr-FR"
        WinHttpReq.setRequestHeader "User-Agent", " Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)"
        WinHttpReq.setRequestHeader "Accept-Encoding", "gzip, deflate"
        WinHttpReq.setRequestHeader "Referer", "http://inventaire-forestier.ign.fr/cartov2/carto/afficherCarto/58"
        WinHttpReq.setRequestHeader "Host", "inventaire-forestier.ign.fr"
        WinHttpReq.setRequestHeader "DNT", 1
        WinHttpReq.setRequestHeader "Connection", "Keep - Alive"
        WinHttpReq.send
        rBody = WinHttpReq.getAllResponseHeaders()
        With CreateObject("ADODB.Stream")
            .Open
            .Type = 1
            .Write rBody
            .SaveToFile TargetFile, 2
            .Close
        End With
    Le header sauvegardé est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Connection: Keep-Alive
    Date: Fri, 06 Mar 2015 12:13:31 GMT
    Keep-Alive: timeout=5, max=100
    Pragma: no-cache
    Content-Length: 7774
    Content-Type: text/html
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Server: Apache/2.2.22 (FreeBSD) mod_auth_kerb/5.4 DAV/2 PHP/5.3.13 with Suhosin-Patch
    Set-Cookie: PHPSESSID=b83aee2d611c5f6f43c2a398d18ca1ab; path=/
    X-Powered-By: PHP/5.3.13
    PS: Je m'appelle Michel.

  17. #17
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Ok Michel
    c'est quoi l'url que tu injecte dans ta requête l'url générale du département ou celle d'un élément
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    J'injecte l'url générale du département :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://inventaire-forestier.ign.fr/cartov2/carto/afficherCarto/58
    Mais le but étant de pouvoir modifier les coordonnées géographique dans la requête, l'url d'un élément de la forme src d'un img sous WMS_6 sera utilisé.

    De mon point de vue, il faudrait faire un GET sur l'url générale, récupérer le cookie reçu et le réinjecter via un POST avec l'url spécifique de type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://inventaire-forestier.ign.fr/cartov2/proxy/getTile?LAYERS=v58tf&TRANSPARENT=true&VISIBILITY=true&FORMAT=image%2FPNG&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A27572&BBOX=622841.17455576,2237130.57137523,711035.57137523,2325324.9681947&WIDTH=500&HEIGHT=500

  19. #19
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re detail d'une requete sur une image (multicolore) en image (capture d'ecran)
    tiens regarde ca

    voila une capture d'ecran pour le hader de la requette sur une de ces images qui nous fait defaut
    Nom : header de la requete.JPG
Affichages : 1353
Taille : 101,8 Ko

    maintenant le réponse header

    Nom : entete de la reponse(reponseheader).JPG
Affichages : 1428
Taille : 105,7 Ko

    et enfin le corps de la réponse

    Nom : corps de la reponse.JPG
Affichages : 1449
Taille : 160,4 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  20. #20
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut

    Je n'ai pas trop le temps mais vous devriez regarder du coté de , utilisé simplement il permet d'atteindre une page mais il est aussi possible de l'utiliser pour lancer des requêtes plus complexes (je n'ai jamais pris le temps de faire des recherches/essais mais je pense que ça doit fonctionner)

    Le principe est de faire la même chose qu'avec
    WinHttpReq mais en passant par l'objet IE, le cookie est donc déjà en place et je pense que ça doit permettre de faire des requêtes identifié par le PHPId.

    Bon courage

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. Enregistrer une image PNG en 300 DPI
    Par Foub dans le forum 2D
    Réponses: 5
    Dernier message: 02/07/2008, 08h59
  2. Enregistrement image png
    Par merdassiahmad dans le forum Entrée/Sortie
    Réponses: 20
    Dernier message: 13/05/2008, 15h42
  3. enregistrement image png
    Par merdassiahmad dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 12/05/2008, 10h40
  4. Réponses: 5
    Dernier message: 21/01/2007, 19h31
  5. [Image]setCursor() et les images *.png
    Par feed_our_vision dans le forum Graphisme
    Réponses: 4
    Dernier message: 13/09/2004, 01h51

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