Maison  >  Article  >  développement back-end  >  Conseils de programmation PHP : Comment générer un code QR avec des couleurs personnalisées ?

Conseils de programmation PHP : Comment générer un code QR avec des couleurs personnalisées ?

WBOY
WBOYoriginal
2023-08-26 20:03:281080parcourir

Conseils de programmation PHP : Comment générer un code QR avec des couleurs personnalisées ?

Conseils de programmation PHP : Comment générer un code QR avec des couleurs personnalisées ?

Le code QR est un code image courant dans la vie moderne. Il exprime des informations à travers une série de carrés noirs et blancs. En programmation PHP, nous avons souvent besoin de générer des codes QR pour afficher des informations que les utilisateurs peuvent scanner. Cependant, avec la demande croissante en matière de design, les simples codes QR en noir et blanc ne peuvent plus répondre aux exigences des utilisateurs. Dans cet article, nous apprendrons comment générer des codes QR avec des couleurs personnalisées en utilisant PHP.

Tout d'abord, nous devons installer une bibliothèque PHP pour générer des codes QR. Dans cet article, nous utilisons la bibliothèque phpqrcode. Il peut être installé via Composer, exécutez simplement la commande suivante dans la ligne de commande :

composer require endroid/qr-code

Une fois l'installation terminée, nous pouvons utiliser le code suivant pour générer un simple code QR noir et blanc :

<?php
require 'vendor/autoload.php';

use EndroidQrCodeErrorCorrectionLevel;
use EndroidQrCodeQrCode;

$qrCode = new QrCode('https://www.example.com');
$qrCode->setSize(300);

header('Content-Type: '.$qrCode->getContentType());
echo $qrCode->writeString();

Le code ci-dessus présente d'abord les fichiers nécessaires, puis un objet QrCode est créé. Les paramètres passés dans le constructeur sont le contenu qui doit générer le code QR. La méthode setSize définit la taille du code QR généré, ici elle est fixée à 300 pixels. Enfin, définissez le format du contenu de sortie via la fonction d'en-tête et utilisez echo pour afficher le code QR.

Maintenant, nous modifions le code pour générer un code QR avec une couleur personnalisée :

<?php
require 'vendor/autoload.php';

use EndroidQrCodeColorColor;
use EndroidQrCodeErrorCorrectionLevel;
use EndroidQrCodeEncodingEncoding;
use EndroidQrCodeQrCode;

$qrCode = new QrCode('https://www.example.com');
$qrCode->setSize(300);
$qrCode->setMargin(10);
$qrCode->setEncoding(new Encoding('UTF-8'));
$qrCode->setErrorCorrectionLevel(new ErrorCorrectionLevel(ErrorCorrectionLevel::HIGH));
$qrCode->setForegroundColor(new Color(0, 0, 0)); // 设置前景色为黑色
$qrCode->setBackgroundColor(new Color(255, 255, 255)); // 设置背景色为白色

header('Content-Type: '.$qrCode->getContentType());
echo $qrCode->writeString();

Dans le code ci-dessus, nous avons ajouté les appels de méthode suivants pour implémenter des couleurs personnalisées :

  • La méthode setMargin est définie La marge du QR le code est défini ici sur 10 pixels.
  • La méthode setEncoding définit le format d'encodage du code QR, ici il est défini sur UTF-8.
  • La méthode setErrorCorrectionLevel définit le niveau de correction d'erreur du code QR, il est ici défini sur HIGH, qui est le niveau de correction d'erreur élevé.
  • La méthode setForegroundColor définit la couleur de premier plan du code QR, ici elle est définie sur noir.
  • La méthode setBackgroundColor définit la couleur d'arrière-plan du code QR, ici elle est définie sur blanc.

Avec les modifications ci-dessus, nous avons généré avec succès un code QR avec une couleur personnalisée. Bien entendu, vous pouvez également ajuster davantage la valeur RVB de la couleur en fonction de vos besoins pour obtenir un effet plus coloré.

Dans les applications pratiques, nous pouvons intégrer le code ci-dessus dans une fonction et enregistrer le code QR généré dans un fichier pour l'appeler en cas de besoin. Voici un exemple de fonction :

function generateQRCode($content, $size, $margin, $foregroundColor, $backgroundColor, $fileName) {
    require 'vendor/autoload.php';

    use EndroidQrCodeColorColor;
    use EndroidQrCodeErrorCorrectionLevel;
    use EndroidQrCodeEncodingEncoding;
    use EndroidQrCodeQrCode;
    
    $qrCode = new QrCode($content);
    $qrCode->setSize($size);
    $qrCode->setMargin($margin);
    $qrCode->setEncoding(new Encoding('UTF-8'));
    $qrCode->setErrorCorrectionLevel(new ErrorCorrectionLevel(ErrorCorrectionLevel::HIGH));
    $qrCode->setForegroundColor(new Color($foregroundColor[0], $foregroundColor[1], $foregroundColor[2]));
    $qrCode->setBackgroundColor(new Color($backgroundColor[0], $backgroundColor[1], $backgroundColor[2]));
    
    file_put_contents($fileName, $qrCode->writeString());
}

Exemple d'utilisation :

generateQRCode('https://www.example.com', 300, 10, [0, 0, 0], [255, 255, 255], 'qrcode.png');

Avec le code ci-dessus, nous pouvons facilement générer un code QR avec des couleurs personnalisées et l'enregistrer dans un fichier. De cette manière, nous pouvons générer de manière flexible un code QR qui nous convient en fonction de nos besoins réels.

Cet article explique comment utiliser PHP pour générer des codes QR avec des couleurs personnalisées. Nous avons appris à installer et à utiliser la bibliothèque phpqrcode, et avons créé une extension simple pour générer des codes QR en noir et blanc. J'espère que ces connaissances pourront vous aider à mieux faire face aux besoins des projets réels et à améliorer vos compétences en programmation.

Référence :

  • [documentation de la bibliothèque phpqrcode](https://github.com/endroid/qr-code)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn