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

JavaScript Discussion :

Recuperation de la taille d'une image avec la propriété SRC


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2003
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 33
    Points : 33
    Points
    33
    Par défaut Recuperation de la taille d'une image avec la propriété SRC
    Bonjour,

    Voici un petit bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <IMG SRC="photos/divers/DSCF0002.JPG" WIDTH=100 onClick="load(this)">
    Ma fonction load() est en Javascript. Elle ouvre une nouvelle fenetre avec l'image. Jusque là, pas de pb. Je voudrais maintenant ajuster la taille de cette fenêtre à l'image.
    Pour cela, j'ai essayé :
    pour récupérer la taille de l'image mais cette propriété ne retourne rien (j'ai fait un test avec un alert() ).

    Comment faire pour récupérer la taille de cette image ???

    Merci.

  2. #2
    Membre habitué Avatar de tony montana
    Profil pro
    Inscrit en
    Février 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 114
    Points : 136
    Points
    136
    Par défaut
    salut,
    je viens de tester, et les propriétés width et height sont bien accessible en javascript. Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <IMG SRC="newsHead.jpg" onClick="alert(this.width)">
    et si tu veux passer par une fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html>
    <head>
    <script type="text/javascript">
    function load(img)
    	{
    	alert("width : "+img.width+"\nheight : "+img.height);
    	}
    </script>
    <body>
    <IMG SRC="newsHead.jpg" onClick="load(this)">
    </body>
    </html>

  3. #3
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    et finalement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script type="text/javascript"> 
    function load(img){ 
    l=parseInt(img.width)+20+"px";
    L=parseInt(img.height)+20+"px";
    win2=window.open(img.src,'image','width='+l+',height='+L);
    }
    </script>
    (à tester en ligne, comme ça, l'affichage correspond vraiment à une adresse http)

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2003
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 33
    Points : 33
    Points
    33
    Par défaut
    Merci pour ces réponses .

    Cependant mon code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <IMG SRC="photos/divers/DSCF0002.JPG" WIDTH=100 onClick="load(this)">
    Ce qui veut dire que quand j'appelle img.width dans la fonction javascript, j'obtiens la largeur de l'image affichée (à savoir 100px ici) et non la taille réelle de l'image...

    Le code que vous m'avez donné marche lorsque l'on ne precise pas les attributs WIDTH et HEIGHT dans la balise IMG. Mais sinon, ca marche pas...dsl et merci d'avoir essayé de m'aider.
    Si vous avez d'autres idées, je suis preneur.
    Je vais continuer à me prendre la tête sur ce pb.

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    bon ok, teste ça:


    disons que ta page de départ contient diverses images en miniatures dans un conteneur nommé "cadre"

    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
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>tableau d'images miniatures</title>
    <style type="text/css">
    .mini {width:100px}
    </style>
    </head>
     
    <body> 
    <div id="cadre">
    <img class="mini" src="" alt="" /><br />
    <img class="mini" src="" alt="" /><br />
    <img class="mini" src="" alt="" /><br />
    </div>
     
    <script type="text/javascript"> 
    var im;
    var mini=document.getElementById('cadre').getElementsByTagName('img');
    for(i=0;i<mini.length;i++){
    mini[i].onclick=function(){im=this.src;win2=window.open('agr.htm','agr','width=100px,height=100px')}
    }
    </script>
     
    </body> 
    </html>
    tu crées une autre page html que tu nommes agr.htm avec ce contenu:

    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
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Image en taille réelle</title>
    <style type="text/css">
    body {margin:0px}
    </style>
     
    <script type="text/javascript">
    function aff(){
    if(opener){
    imag=document.getElementById('ima');
    imag.src=opener.im;
    window.resizeTo(imag.width,imag.height);
    this.focus()};
    }
    </script>
    </head>
     
    <body onload="aff()" onblur="window.close()"> 
    <div>
    <img id="ima" alt="taille réelle" />
    </div>
    </body> 
    </html>

    et voilà

    appelle-moi si y a un pbm

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2003
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 33
    Points : 33
    Points
    33
    Par défaut
    Merci.
    Ca marche nickel. J'aurais jamais penseé faire autant de manip pour si peu.

    Encore merci

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 26
    Points : 29
    Points
    29
    Par défaut
    salut,

    Ca marche nickel
    formidable ! avec la democratisation de l'ADSL on peut se permettre d'afficher une pleine page de "fausses" miniatures de +de 40 ou 50 Ko .
    que les modems 56ko aillent voir ailleurs .

    et si vous voulez remplacer par des "vraies" ... trouvez un autre script !

    L.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/03/2010, 16h14
  2. Récupérer taille d'une image avec IE
    Par olbouss dans le forum jQuery
    Réponses: 5
    Dernier message: 03/11/2009, 09h20
  3. [GD] Redimensionner une image avec une taille fixe
    Par Aspic dans le forum Bibliothèques et frameworks
    Réponses: 29
    Dernier message: 20/07/2008, 14h57
  4. Changer la taille d'une image chargée avec Loader
    Par DeezerD dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 29/01/2008, 17h55
  5. problème avec le recupération de la taille d'une image
    Par vbcasimir dans le forum Modules
    Réponses: 5
    Dernier message: 28/11/2005, 17h20

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