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

Mise en page CSS Discussion :

Déterminer la taille d'une image affichée dans un container


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut Déterminer la taille d'une image affichée dans un container
    Bonjour,
    J'affiche des images de tailles diverses dans un container de taille fixe (au sens css : width=700px et height=500px).
    Je conserve les proportions de l'image.
    Trois cas se présentent en fonction du rapport largeur/hauteur = 700/500 du container
    - l'image a un rapport =700/500 : l'image touche les bords haut, bas, droite et gauche du container.
    - l'image a un rapport >700/500 : l'image touche les bords gauche et droit du container, l'image est moins haute pour respecter les proportions.
    - l'image a un rapport <700/500 : l'image touche les bords haut et bas du container, l'image est moins large pour respecter les proportions.

    Connaissez vous une manière de connaitre par avance la taille finale de l'image en pixel connaissant 1)le rapport largeur/hauteur de l'image et 2)la taille du container (ici 700x500).

    J'espère avoir été clair.
    Merci

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 555
    Par défaut
    ça se calcule à l'aide du rapport R de l'image.
    si R > 700 / 500, la largeur finale sera 700 px et donc la hauteur sera 700 / R.
    et si R < 700 / 500, la hauteur finale sera 500 px et donc la largeur sera 500 × R.

  3. #3
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut
    Merci, tout simple en effet.

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    Connaissez vous une manière de connaitre par avance la taille finale de l'image en pixel connaissant
    in fine quel est le but du jeu !?!

  5. #5
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut
    Le but du jeu est de pouvoir associer à l'image affichée une sorte d'échelle afin de mettre en perspective les dimensions de l'image.
    Dans mon cas, je vais montrer une feuille A4 à coté de chaque image (photo de tableau). Je dois alors définir le container en pixels qui va accueillir cette "feuille A4".
    Exemple : Nom : Capture d’écran 2023-03-04 123611.jpg
Affichages : 293
Taille : 70,1 Ko
    Reste plus qu'à faire les conversions pour les autres tailles.

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    J'ai repris un peu le fil de tes discussions et suis tombé sur cette galerie, GALERIE ALAIN WALTER, qui visiblement reprend pas mal de tes problématiques.

    Il y a pas mal de chose à dire et notamment celle qui me paraît être la principale est que tes images font partie intégrante de ta page et dans ce cas ne doivent être en aucun cas affichées en background mais dans des balises <img> sans quoi ta pas n'a pour ainsi dire aucun contenu.

    Un autre point important est que tes éléments <li> doivent être enfant d’élément <ul>, ou <ol>, ce qui rend ta page non conforme mais ce n'est pas une catastrophe les moteurs de rendu s'en sortant plutôt bien

    Tu uses et abuses, à mon avis, inutilement des FLEX et des GRID. IL me semblerait plus sain d'utiliser, pour chaque image d'une structure sémantique comme :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <figure>
      <figcation>
        Définition de l'image
      </figcation>
      <img src="ton-image" alt="description image" data-size="larg x haut" loading="lazy">
    </figure>
    Chaque <figure> pouvant être en display:flex pour la mise en page.

    Petite explication sur :
    • data-size="larg x haut" : pour pouvoir calculer dynamiquement la taille de ta vignette A4, d'autant que ces valeurs tu les connais ;
    • loading="lazy" pour charger suivant le besoin tes images qu'il serait bon de redimensionner à la baisse.


    Reste plus qu'à faire les conversions pour les autres tailles.
    C'est typiquement le boulot de JavaScript, côté client, sauf à le faire effectivement directement côté serveur. Il n'est cependant pas obligatoire de passer par une image, celle-ci étant réalisable aisément en HTML-CSS.

    Je n'ai pas pu résister à te faire une maquette possible, le calcul dynamique du format A4 étant intégré en fin de page.


    Nota :
    Pour l'occasion la structure d'une ligne est la suivante :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <figcaption>
      <h2>Le crépuscule sur la mer</h2>
      Acrylique sur toile<br>2023<br>100x50
      <span class="formatA4">A4</span>
    </figcaption>
    <img src="https://peindreamonampteuil.go.yj.fr/medias/2023_02_Le_crepuscule_sur_la_mer.jpg" data-size="100 x 50" alt="Le crépuscule sur la mer" loading="lazy">
    </figure>
    Le <span> pourrait être ajouté dynamiquement mais bon ...

    Je te laisse regarder la source et si tu as des questions n'hésite pas

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 17/02/2020, 09h54
  2. Comment connaître la Taille d'une image chargée dans mx.controls.Loader ?
    Par Mister Paul dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 31/12/2010, 00h01
  3. ImageJ, redimensionner une image affichée dans la frame
    Par diophantes dans le forum ImageJ
    Réponses: 0
    Dernier message: 20/10/2008, 22h21
  4. [C#2.0]Récup d'une image affichée dans un webbrowser
    Par SLE dans le forum Windows Forms
    Réponses: 3
    Dernier message: 13/05/2008, 08h40
  5. [VB.NET] afficher une image stockée dans une table
    Par matonfire dans le forum ASP.NET
    Réponses: 4
    Dernier message: 19/03/2004, 11h21

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