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 :

Ajustement automatique balise canvas [API HTML5]


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2007
    Messages : 18
    Par défaut Ajustement automatique balise canvas
    Bonjour,

    depuis hier je galère à redimensionner automatiquement un bloc fait d'une balise canvas par rapport à une balise div parente.
    J'explique en détail : le bloc div peu avoir une dimension fixe en largeur ou être redimensionner selon la taille de la page (pas de problème pour sa). Par contre ma balise canvas, qui est contenu dans ma div, n'accepte que des dimensions fixe, je n'arrive pas à répercuter automatiquement les dimensions de ma div à ma balise canvas. J'ai beau essayer tout un tas de code JS, CSS, HTML5 trouvé par ci par là mais rien y fait.

    Pour plus de détail : je développe un module pour joomla avec comme javascript JQuery et TagCanvas,

    Pouvez vous m'aider à résoudre se problème*?

    Cordialement.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    Par contre ma balise canvas, qui est contenu dans ma div, n'accepte que des dimensions fixe,...


    donnes une width:100% et une height:100% à ton canvas.

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2007
    Messages : 18
    Par défaut
    Bien vue .... mais non. Si c'était aussi simple je ne demanderais pas d'aide .

    Mieux qu'un grand discours ... du code .

    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
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr-fr" lang="fr-fr" dir="ltr">
      <head>
        <title>Exemple</title>
        <script src="jquery.min.js" type="text/javascript"></script>
        <script src="jquery.tagcanvas.js" type="text/javascript"></script>
        <script type="text/javascript">
    	window.onload = function() {
    		try {
    			TagCanvas.Start('container','tags');
    		} catch(e) {
    			document.getElementById('block').style.display='none';
    		} };
    	</script>
     
      </head>
      <body >
        <div style="width:400px;height:400px;background-color:#000000">
    		<div id="block">
    		  <canvas id="container">
    			<p>Votre Naviguateur ne prend pas en charge la balise canvas !</p>
    		  </canvas>
    		</div>
    		<div id="tags">
    		  <ul>
    			<li><a href="#">Fish</a></li>
    			<li><a href="#">Chips</a></li>
    			<li><a href="#">Machin</a></li>
    			<li><a href="#">Truc</a></li>
    			<li><a href="#">Chips</a></li>
    			<li><a href="#">Salt</a></li>
    			<li><a href="#">Vinegar</a></li>
    			<li><a href="#">Chouette</a></li>
    			<li><a href="#">Truc Much</a></li>
    			<li><a href="#">sdgsg</a></li>
    			<li><a href="#">sdfsd ezt eaz</a></li>
    			<li><a href="#">hgjgujkf </a></li>
    			<li><a href="#">s dfdfsdf </a></li>
    			<li><a href="#">s dfsdfeazrfe</a></li>
    			<li><a href="#">ty e(yert</a></li>
    			<li><a href="#">fgsdf aera</a></li>
    			<li><a href="#">sy(eyzyazr</a></li>
    			<li><a href="#">sdfgs dfsr</a></li>
    		  </ul>
    		</div>
    	</div>
      </body>
    </html>
    Les deux ressources JS :

    http://code.jquery.com/jquery.min.js
    http://www.goat1000.com/jquery.tagcanvas.js?2.1

    Exécutez le code et essayer de trouver comment dimensionner le canvas par rapport à la div. Faut pas oublier que la div peu avoir différente taille et que la canvas doit si ajuster automatiquement.

    J'essaye toujours de trouver une solution à l'heure actuelle, pas moyen .. mais alors pas moyen d'y arriver .

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Aucun problème pour redimensionner seulement tu as une DIV qui verrouille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div style="width:400px;height:400px;background-color:#000000">
    Sinon il faut que tu mettes aussi une hauteur pour ton container, et un 100% en hauteur et largeur à ton canvas.

  5. #5
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2007
    Messages : 18
    Par défaut
    Oui mais la c'est pour l'exemple, donc normal que la div ais des dimensions fixe .
    Pour le container, ou même la div block, tu aura beau mettre se que tu veux en dimension (en pourcentage) il ne sera jamais de la même dimension que la div principal.

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    La balise canvas s'ajuste parfaitement. J'ignore pourquoi tu persistes à dire le contraire.

    En revanche le contenu du canvas est tout déformé, comme quand on redimensionne une image. C'est normal : une image a un certain nombre de pixels, et si on la redimensionne, elle doit afficher le même nombre de pixels, à l'intérieur d'un nombre différent de pixels.
    Le canvas fonctionne pareil : il a une largeur et une hauteur en pixels, sur lesquels on dessine. Et il a aussi une largeur et une hauteur CSS, et son contenu va s'arranger pour occuper exactement cet espace.

    Autrement dit CSS seul ne suffit pas à résoudre le problème : il faut aussi changer la taille intrinsèque du canvas quand sa taille CSS change.
    Cela ne peut arriver que dans deux occasions :
    - La fenêtre a été redimensionnée => window.addEventListener('resize') ou un équivalent jQuery.
    - L'un de tes script a redimensionné un élément dont la taille du canvas dépend => Ce script doit aussi déclencher un réajustement de la taille du canvas.

    Citation Envoyé par Cortexx Voir le message
    Oui mais la c'est pour l'exemple, donc normal que la div ais des dimensions fixe .
    Le principe d'un exemple, en général, c'est d'illustrer le problème. Je vois pas de quoi tu parles.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Réponses: 28
    Dernier message: 30/11/2006, 17h47
  2. un div qui s'ajuste automatiquement a la hauteur
    Par NoobX dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 14/11/2006, 13h01
  3. Ajuster automatiquement les colonnes d'un résultat
    Par sebkernoise dans le forum Access
    Réponses: 3
    Dernier message: 27/04/2006, 14h00
  4. [Excel] Comment ajuster automatiquement les colonnes ?
    Par fba dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 14/11/2005, 16h23
  5. Ajustement automatique de la taille de la police dans un TLabel
    Par Poisson Rouge dans le forum Composants VCL
    Réponses: 3
    Dernier message: 05/09/2003, 15h13

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