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 :

Convertir un texte html en image png


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité de passage
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2023
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2023
    Messages : 12
    Par défaut Convertir un texte html en image png
    Bonjour, j'ai une zone de texte input, dans laquelle le client écrit son texte, je voudrais que via un lien, il puisse télécharger le texte écrit sur une image au format PNG, est ce que je peux avoir votre aide s'ils vous plait ?

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 881
    Par défaut
    Hello,

    Vous n'informez pas sur le type de texte, est-ce du multilignes ?

    Je serai pour créer un Canvas (genre de tableau noir ou blanc) où vous dessinerez ce qu'à écrit l'utilisateur (donc en fonction de la quantité de texte, le format du Canvas change).

    De là Canvas a une méthode toDataURL qui permet de link votre image du canvas.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Invité de passage
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2023
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2023
    Messages : 12
    Par défaut
    Bonjour, non juste une ligne

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 881
    Par défaut
    Donc pas besoin de se préoccuper des sauts de ligne, ma solution reste là même
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  5. #5
    Invité de passage
    Homme Profil pro
    Webmaster
    Inscrit en
    Octobre 2023
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2023
    Messages : 12
    Par défaut
    J'ai fait une rechercher google, il ne me donne que des sites pour faire une conversion en ligne.

    J'ai créer ce code qui affiche des polices :

    https://www.johok-bt.fr/FONTS_JHK/index.php

    Je voudrais que l'utilisateur puisse exporter une image d'un texte avec une police au choix

  6. #6
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 881
    Par défaut
    Voici un code généré par l'IA qui ressemble à ce que je disais plus haut

    Code html : 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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    <!DOCTYPE html>
    <html lang="fr">
    <head>
        <meta charset="UTF-8">
        <title>Texte vers PNG</title>
        <style>
            body { font-family: sans-serif; padding: 20px; }
            .container { max-width: 500px; margin: 0 auto; display: flex; flex-direction: column; gap: 10px; }
            input { padding: 10px; font-size: 16px; }
            button { padding: 10px; background-color: #007bff; color: white; border: none; cursor: pointer; }
            button:hover { background-color: #0056b3; }
        </style>
    </head>
    <body>
     
    <div class="container">
        <label for="userText">Entrez votre texte :</label>
        <input type="text" id="userText" placeholder="Écrivez ici..." value="Mon texte en image">
     
        <button onclick="downloadTextAsImage()">Télécharger en PNG</button>
    </div>
     
    <script>
        function downloadTextAsImage() {
            // 1. Récupérer le texte de l'input
            const text = document.getElementById('userText').value;
     
            if (!text) {
                alert("Veuillez entrer du texte !");
                return;
            }
     
            // 2. Créer un élément canvas invisible
            const canvas = document.createElement('canvas');
            const ctx = canvas.getContext('2d');
     
            // 3. Définir la police (nécessaire avant de mesurer la largeur)
            const fontSize = 24;
            const fontFace = 'Arial';
            ctx.font = `${fontSize}px ${fontFace}`;
     
            // 4. Calculer la taille dynamique du canvas selon le texte
            const textMetrics = ctx.measureText(text);
            const padding = 20; // Espace autour du texte
            
            canvas.width = textMetrics.width + (padding * 2);
            canvas.height = fontSize + (padding * 2);
     
            // 5. Redéfinir la police (car le redimensionnement du canvas réinitialise le contexte)
            ctx.font = `${fontSize}px ${fontFace}`;
            ctx.textBaseline = 'middle'; // Pour centrer verticalement
     
            // 6. Ajouter un fond (optionnel - sinon ce sera transparent)
            ctx.fillStyle = '#ffffff'; // Blanc
            ctx.fillRect(0, 0, canvas.width, canvas.height);
     
            // 7. Dessiner le texte
            ctx.fillStyle = '#000000'; // Noir
            ctx.fillText(text, padding, canvas.height / 2);
     
            // 8. Convertir en image et déclencher le téléchargement
            const imageURI = canvas.toDataURL('image/png');
            
            const link = document.createElement('a');
            link.download = 'mon-texte.png';
            link.href = imageURI;
            document.body.appendChild(link); // Nécessaire pour Firefox
            link.click();
            document.body.removeChild(link); // Nettoyage
        }
    </script>
     
    </body>
    </html>
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

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

Discussions similaires

  1. Convertir Blob (text/html) à Canvas Image
    Par goldor dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/07/2015, 19h02
  2. [Débutant] Convertir des fichier HTML en image (jpeg,png et gif) avec une progress bar
    Par hsoussi dans le forum Développement Windows
    Réponses: 4
    Dernier message: 07/04/2014, 13h35
  3. [Image]Convertir du code HTML en image
    Par lalouve dans le forum Bibliothèques et frameworks
    Réponses: 14
    Dernier message: 09/05/2012, 15h47
  4. [Imagick] Convertir texte HTML en image
    Par Orni dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 25/10/2010, 15h44
  5. Convertir un texte HTML en image
    Par sami_c dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 30/06/2010, 11h42

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