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 :

Marges dans html2canvas


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2016
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mars 2016
    Messages : 94
    Points : 97
    Points
    97
    Par défaut Marges dans html2canvas
    J'ai un autre problème, avec html2canvas: il met des marges blanches.
    Je voudrais screenshoter l'image de droite, avec le homard
    Nom : media38.png
Affichages : 211
Taille : 631,5 Ko
    Je lui passe son élément conteneur.
    Et voici ce que j'obtiens.
    Nom : 00000038big.jpg
Affichages : 205
Taille : 29,7 Ko

    Avant d'envoyer en ajax, je réduis l'image sur canvas2, pour en diminuer le volume, sans résoudre le problème des marges.
    Nom : 00000038.jpg
Affichages : 196
Taille : 3,9 Ko

    Voici mon
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      <ARTICLE id="pictoSource" style="min-width:initial;">
       <H2>&#x1F320;&nbsp;Media</H2>
       <DIV id="fond">
        <IMG class="media" src="../../medias/fond/00000038.jpg" style="width:100%;background-color:rgba(0, 0, 0, 0);" draggable="false"/>   </DIV>
      </ARTICLE>
     </SECTION>

    Voici mon code Javascript
    Plus haut, xhrPicto est déclaré comme un new XMLHttpRequest()

    Code JavaScript : 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
       actionPicto = function()
       {
        html2canvas(document.getElementById('pictoSource')).then((canvas) =>
        {
         const
          canvas2 = document.createElement('canvas'),
          ctx2 = canvas2.getContext('2d')
         ;
     
         canvas2.setAttribute('width', 177);
         canvas2.setAttribute('height', 100);
         ctx2.drawImage(canvas, 0, 0, canvas.width, canvas.height, 0, 0, 177, 100);
         xhrPicto.open('POST', 'ajax/ajaxPicto.php', true);
         xhrPicto.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
         xhrPicto.send(`picto=${pictoFichier}&image=${canvas2.toDataURL("image/jpeg", 0.5)}`);
        });
       },

    Enlevez le 2 de canvas2, dans xhrPicto.send et vous enverrez la grande image.
    Le problème, ce sont les marges blanches en bas et à droite, dans un cas comme dans l'autre.
    Changer la qualité de l'image (réglée, ici, sur 0.5), ne change rien non plus.

    J'ai également un warning en console de Firefox
    Erreur dans les liens source : Error: request failed with status 404
    URL de la ressource : http://localhost/Sogedima/pics/js/html2canvas.js
    URL du lien source : html2canvas.js.map
    J'ai pourtant bien importé la librairie html2canvas.
    Est-ce la cause du problème ?

    Comment faire pour screenshoter l'élément HTML sans marge, ni en bas, ni à droite ?
    L'image doit cadrer exactement l'élément.
    Merci
    Christian.

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 305
    Points : 15 633
    Points
    15 633
    Par défaut
    si vous voulez juste récupérer l'image, ça serait peut-être plus simple d'envoyer le chemin de l'image et de faire le traitement en PHP.

Discussions similaires

  1. [FAQ] Perte des marges dans les états Access
    Par Gretch_34 dans le forum Contribuez
    Réponses: 10
    Dernier message: 27/09/2011, 12h39
  2. repères de marges dans Word 2003
    Par hukom1 dans le forum Word
    Réponses: 4
    Dernier message: 25/08/2009, 15h42
  3. [CSS] Problème de marge dans des listes.
    Par Istrella dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 13/09/2006, 09h16
  4. Supprimer les marges dans une page html
    Par Furius dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 12/01/2006, 04h41
  5. Comment avoir des marges dans un TRichEdit ?
    Par nomdutilisateur dans le forum Composants VCL
    Réponses: 5
    Dernier message: 25/06/2004, 09h57

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