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

PHP & Base de données Discussion :

insertion d'un QR Code dans une image


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut insertion d'un QR Code dans une image
    Bonjour

    je vous écris ce jour , grace a un code je créer une image automatiquement et en positionnant un texte

    je souhaiterai aussi positionné un QR code mais malheureusement le script bug et l'image ne se créer plus voici le code modifié avec les infos du qrcode si vous avez une piste je suis preneur

    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
    		<script  src="https://code.jquery.com/jquery-3.2.1.js"></script>
    <script  src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script type="text/javascript" src="jquery.qrcode.min.js"></script>
     
     
    <script>
       $(document).ready(function() {
     
       $('#output_qrcode').qrcode("https://www.monsite.fr/join.php?idmembre=800");
     
       });
       </script>
       <?php
        include("../mysqlcon.php");
        $ans = ["operation" => false,"name" => ""];
        $num = (isset($_POST["numero"]) && !empty($_POST["numero"]) && is_numeric($_POST["numero"]))?$_POST["numero"]:false;
     
        $q = "Select COUNT(*) as carteok from commande where numerocarte='$num'";
        $q = $conn->query($q);
        $f = mysqli_fetch_array($q);
        $numok = $f["carteok"];
        $dirqr = '<div id="output_qrcode"></div>';
      if($numok == 1){
            $ans["operation"] = true;
            $ans["name"] = createCarte("source.png",$num,"allCarte/",$dirqr);
     
    		$qu = "UPDATE commande SET carteok = 'ok', choix='duo' WHERE numerocarte='$num'";
    		$qu = $conn->query($qu);
     
     
        } 
        echo json_encode($ans);
     
     
        function createCarte($pathSoucre,$number,$cheminSave,$dirqr)
        {
     
            $carte = Imagecreatefrompng($pathSoucre);
            $textcolor = imagecolorallocate($carte, 225, 29, 72);
     
            $name = "carte_".$number."_.png";
            $sizeCenter = (330 - (strlen($number)*10))/2;
            imagestring($carte, 5, 700+$sizeCenter, 210, $number, $textcolor);
    		imagestring($carte, 5, 700+$sizeCenter, 110, $dirqr, $textcolor);
            imagepng($carte,$cheminSave.$name);
            return $name;
        }
    ?>

  2. #2
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut
    j'ai fait autrement, je suis passé par php

    le qr code fonctionne mais ça fait une image.

    j'aimerai donc superposé l'image du qr code sur l'image créer

    voici ce que j'ai essayer de faire mais il y a seulement le texte qui s'affiche pas l'image

    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
    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
    75
    76
    77
    78
    79
    80
    81
    <?php
    session_start();
    $iduser = $_SESSION["id_user"];
        include("../mysqlcon.php");
        $ans = ["operation" => false,"name" => ""];
        $num = (isset($_POST["numero"]) && !empty($_POST["numero"]) && is_numeric($_POST["numero"]))?$_POST["numero"]:false;
     
        $q = "Select COUNT(*) as carteok from commande where numerocarte='$num'";
        $q = $conn->query($q);
        $f = mysqli_fetch_array($q);
        $numok = $f["carteok"];
     
    	  //set it to writable location, a place for temp generated PNG files
        $PNG_TEMP_DIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'temp'.DIRECTORY_SEPARATOR;
     
        //html PNG location prefix
        $PNG_WEB_DIR = 'temp/';
     
        include "phpqrcode/qrlib.php";    
     
        //ofcourse we need rights to create temp dir
        if (!file_exists($PNG_TEMP_DIR))
            mkdir($PNG_TEMP_DIR);
     
     
        $filename = $PNG_TEMP_DIR.'test.png';
     
        //processing form input
        //remember to sanitize user input in real-life solution !!!
        $errorCorrectionLevel = 'L';
        if (isset($_REQUEST['level']) && in_array($_REQUEST['level'], array('L','M','Q','H')))
            $errorCorrectionLevel = $_REQUEST['level'];    
     
        $matrixPointSize = 4;
        if (isset($_REQUEST['size']))
            $matrixPointSize = min(max((int)$_REQUEST['size'], 1), 10);
     
     
    		$lien = "https://www.tesdemuret.fr/join.php=$id_user";
     
     
            //it's very important!
            if (trim(lien) == '')
                die('data cannot be empty! <a href="?">back</a>');
     
            // user data
    		$lien = "https://www.....fr/join.php=800";
            $filename = $PNG_TEMP_DIR.'test'.md5($lien.'|'.$errorCorrectionLevel.'|'.$matrixPointSize).'.png';
            QRcode::png($lien, $filename, $errorCorrectionLevel, $matrixPointSize, 2);   
     
    		$liens = "<img src='$PNG_WEB_DIR.basename($filename)'>";
     
      if($numok == 1){
            $ans["operation"] = true;
            $ans["name"] = createCarte("source.png",$num,"allCarte/",$liens);
     
    		$qu = "UPDATE commande SET carteok = 'ok', choix='duo' WHERE numerocarte='$num'";
    		$qu = $conn->query($qu);
     
     
        } 
        echo json_encode($ans);
     
     
     
     
        function createCarte($pathSoucre,$number,$cheminSave,$url)
        {
     
            $carte = Imagecreatefrompng($pathSoucre);
            $textcolor = imagecolorallocate($carte, 225, 29, 72);
            $name = "carte_".$number."_.png";
            $sizeCenter = (330 - (strlen($number)*10))/2;
    		$sizeCenterli = (330 - (strlen($url)*10))/2;
            imagestring($carte, 5, 700+$sizeCenter, 210, $number, $textcolor);
    		imagestring($carte, 5, 720+$sizeCenterli, 110, $url, $textcolor);
     
            imagepng($carte,$cheminSave.$name);
            return $name;
        }
    ?>

  3. #3
    Membre du Club
    Femme Profil pro
    piano
    Inscrit en
    Décembre 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2011
    Messages : 131
    Points : 65
    Points
    65
    Par défaut
    Bonjour,

    Je suis loin d'être experte, mais as-tu essayé avec CSS ?

    par exemple en superposant deux images dont ton QR code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      background-image: url(image.gif), url(qrcode.gif);
      background-position:(là tu mets la position que tu veux);
      background-repeat: no-repeat, repeat;
      padding: 15px;

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut
    salut

    ça donnera pas le resultat souhaitait car cette fameuse carte mon membre la telecharge donc il faut que l'image du qr code soit collé sur lautre image

  5. #5
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut
    aprés une grosse journée de recherche j'ai trouver ce qui me parraisait logique j'ai donc testé et ça a fonctionné voici le code si ça peut aider


    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
    function createCarte($pathSoucre,$number,$cheminSave,$url)
        {
     
    		$petit = imagecreatefrompng($url); 
     
     
            $carte = Imagecreatefrompng($pathSoucre);
            $textcolor = imagecolorallocate($carte, 225, 29, 72);
            $name = "carte_".$number."_.png";
            $sizeCenter = (330 - (strlen($number)*10))/2;
    		$sizeCenterli = (330 - (strlen($url)*10))/2;
            imagestring($carte, 5, 700+$sizeCenter, 210, $number, $textcolor);
    		imagealphablending($petit,true);
    		imagecopy ($carte,$petit,670+$sizeCenter,300,0,0,130,130 );
     
     imagepng($carte,$cheminSave.$name);
            return $name;
        }

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

Discussions similaires

  1. Insertion Filigrane dans une Image quelconque
    Par touronster dans le forum Traitement d'images
    Réponses: 9
    Dernier message: 24/09/2008, 18h23
  2. [SQL] Du code dans une variable chaine pour insertion en base
    Par tl_marly dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/03/2008, 14h38
  3. [MySQL] Génération d'un code dans une requete d'insertion
    Par caro_tpl dans le forum Langage SQL
    Réponses: 1
    Dernier message: 05/05/2006, 10h14
  4. Réponses: 7
    Dernier message: 14/12/2005, 09h53
  5. insertion de lumière dans une image
    Par bakonu dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 04/08/2005, 11h08

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