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

HTML Discussion :

Mauvais rendu balise Canvas [HTML 5]


Sujet :

HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 72
    Par défaut Mauvais rendu balise Canvas
    Bonjour,

    Je travail actuellement sur une application faisant appel à la balise canvas.
    Lorsque j'ajoute une image dans la balise, le rendu est vraiment mauvais, je ne comprend pas pourquoi.

    Quelqu'un aurait-il la solution?

    Je vous passe mon bout de code et une image qui représente la mauvaise qualité du rendu.

    le 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
    <!DOCTYPE html>
    <html>
        <head>
            <title></title>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
            <link rel="stylesheet" type="text/css" href="css/generalcss.css" />
            <script>
                $(document).ready(function(){
                    var canvas = document.getElementById("canvas");
                    var ctx = canvas.getContext("2d");
        
                    var img = new Image();
                    img.src = 'images/motifs/default/0372af.png ';
                    img.onload = function(){
                        ctx.drawImage(img, 0, 0,canvas.width,canvas.height);
                        ctx.fill();
                    }
                })
            </script>
        </head>
        <body>
            <canvas id='canvas'></canvas>
        </body>
    </html>
    Images attachées Images attachées  

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ben manifestement, ton image est juste agrandie et du coup, elle est moins précise...
    C'est quoi les dimensions réelles de l'image ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 72
    Par défaut
    Malheureusement ce n'est pas ça...
    Du moins je crois.
    Les dimensions de ma balise canvas sont identiques à celles de mon image... Il n'y a donc pas de redimensionnement. Sauf si canvas en fait un à mon insu ?!?

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 72
    Par défaut
    Au faite je viens de constater un problème! J'ai défini dans ma css que mon élément canvas devait faire 492px par 370px. Mais lorsque j'affiche avec mon script canvas.widht et canvas.height c'est 300 et 150 qui apparaisse! A ne rien y comprendre

  5. #5
    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
    Citation Envoyé par liryks_6 Voir le message
    Au faite je viens de constater un problème! J'ai défini dans ma css que mon élément canvas devait faire 492px par 370px. Mais lorsque j'affiche avec mon script canvas.widht et canvas.height c'est 300 et 150 qui apparaisse! A ne rien y comprendre
    C'est simple : le buffer logique, l'emplacement mémoire sur lequel tu peux dessiner une image raster et dont la taille n'est exprimable qu'en pixels modifiables, fait 300 pixels sur 150 pixels. Probablement la taille indiquée dans le HTML ou une taille par défaut.

    Quand ce buffer est projeté sur ta page HTML, dont les dimensions peuvent être exprimées en pixels, en centimètres, en unité relative à la taille disponible, ou en unité relative à la taille du texte, ce sont les CSS qui décident la taille à laquelle ce buffer va être projeté. Par défaut c'est en pixels et c'est la taille intrinsèque du canvas... Mais si les CSS disent autre chose, forcément...
    Là tu as demandé aux CSS d'afficher à 492 pixels par 370 pixels, alors que le buffer du canvas fait 300 par 150.
    D'où, mauvais rendu.

    Les CSS sont une techno de présentation, et n'ont pas à décider de la taille d'un buffer de raster modifiable en mémoire.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 72
    Par défaut
    Ok, merci pour ta réponse.

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

Discussions similaires

  1. Mauvais rendu de ma lightbox
    Par fifou89 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 07/02/2009, 15h25
  2. Mauvais rendu image PNG
    Par donnadieujulien dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 27/01/2009, 16h37
  3. Mauvais rendu des accents et espaces dans page
    Par Stéph utilisateur d'acces dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 15/01/2009, 15h40
  4. Image d'un bouton : mauvais rendu
    Par t.n.b.g dans le forum WinDev
    Réponses: 1
    Dernier message: 24/06/2008, 15h00
  5. [unicode] mauvais rendu du code utf.
    Par PyBio dans le forum Général Python
    Réponses: 4
    Dernier message: 04/11/2005, 21h55

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