Manuel - QRCode
Introduction
Le code QRCode fait partie de la famille des codes-barres en 2D. Il permet d'encoder beaucoup d'information en un seul code-barres.
Tous les caractères ASCII de 0 à 255 sont supportés. La taille du code sera déterminée en fonction du nombre de données entrées ainsi que du niveau d'erreur choisi. Vous pouvez forcer le code-barres à être généré dans une taille spécifique tant qu'il y a assez d'espace pour encoder les données.
Il est possible de passer en mode ECI avec la fonction setAcceptECI().
Cette classe hérite de la classe BCGBarcode2D.
Exemple
Méthodes
Méthodes de BCGqrcode
- getErrorLevel() — Retourne le niveau d'erreur du code-barres
-
setErrorLevel(
$level ) — Fixe le niveau d'erreur du code-barres - getSize() — Retourne la taille du code-barres
-
setSize(
$value ) — Fixe la taille du code-barres -
setStructuredAppend(
$snum ,$st ,$sname ) — Spécifie que les données seront dispersées sur plusieurs codes-barres - getFNC1() — Retourne si le FNC1 est activé
-
setFNC1(
$fnc1Type ,$fnc1Id ) — Transforme votre code-barres en standard GS1 ou AIM - getAcceptECI() — Retourne si les codes ECI sont acceptés
-
setAcceptECI(
$accept ) — Spécifie d'accepter les codes ECI - getQuietZone() — Retourne si la zone muette sera dessinée
-
setQuietZone(
$quietZone ) — Spécifie de dessiner une zone muette autour du code-barres - getMirror() — Retourne si le mode miroir est activé
-
setMirror(
$mirror ) — Spécifie de dessiner le code-barres en miroir - getMask() — Retourne le masque choisi
-
setMask(
$mask ) — Spécifie un masque plutôt que d'en calculer un -
setQRSize(
$qrSize ,$qrMicro ) — Spécifie une taille à utiliser pour le code-barres
Méthodes de BCGBarcode2D
-
setScaleX(
$scaleX ) — Spécifie la résolution du codes-barres en X -
setScaleY(
$scaleY ) — Spécifie la résolution du codes-barres en Y
Méthodes de BCGBarcode
-
parse(
$text ) — Analyse un message$text pour dessiner par la suite -
draw(
$image ) — Dessine le code-barres sur l'image$image -
getDimension(
$width ,$height ) — Retourne un tableau concernant la taille de l'image requise - getScale() — Retourne la résolution du code-barres
-
setScale(
$scale ) — Fixe la résolution du code-barres - getForegroundColor() — Retourne la couleur des barres
-
setForegroundColor(
$color ) — Fixe la couleur des barres - getBackgroundColor() — Retourne la couleur des espaces
-
setBackgroundColor(
$color ) — Fixe la couleur des espaces -
setColor(
$foregroundColor ,$backgroundColor ) — Fixe la couleur des barres et des espaces - getOffsetX() — Retourne le décalage en X
-
setOffsetX(
$value ) — Spécifie le décalage en X - getOffsetY() — Retourne le décalage en Y
-
setOffsetY(
$value ) — Spécifie le décalage en Y -
addLabel(
$label ) — Ajoute un texte qui accompagne le dessin -
removeLabel(
$label ) — Supprime un texte qui accompagne le dessin - clearLabels() — Supprime les textes qui accompagnent le dessin
Exemple de Code
<?php
use BarcodeBakery\Common\BCGColor;
use BarcodeBakery\Common\BCGDrawing;
use BarcodeBakery\Barcode\BCGqrcode;
$colorBlack = new BCGColor(0, 0, 0);
$colorWhite = new BCGColor(255, 255, 255);
// Barcode Part
$code = new BCGqrcode();
$code->setScale(3);
$code->setForegroundColor($colorBlack);
$code->setBackgroundColor($colorWhite);
$code->setErrorLevel(1);
$code->parse('QRCode');
// Drawing Part
$drawing = new BCGDrawing($code, $colorWhite);
header('Content-Type: image/png');
$drawing->finish(BCGDrawing::IMG_FORMAT_PNG);
?>
Explications des Méthodes
-
getErrorLevel()
—
Retourne le niveau d'erreur du code-barres
DescriptionRetourne le niveau de pourcentage de correction d'erreur.Retourne
int - valeur entre 0 et 3 -
setErrorLevel(
$level ) — Fixe le niveau d'erreur du code-barresDescriptionIl s'agit du pourcentage de correction d'erreur défini avant de dessiner le code-barres.
Le niveau doit être un nombre entier de 0 à 3 ou les lettres correspondantes L, M, Q, H.
Le niveau d'erreur peut récupérer approximativement respectivement 7%, 15%, 25% et 30%.
La valeur par défaut est 1 (M). -
getSize()
—
Retourne la taille du code-barres
DescriptionRetourne le code pour la taille du code-barres final.
Voyez aussi setSize() pour plus de détails.Retourneint - constante définie àsetSize() -
setSize(
$value ) — Fixe la taille du code-barresDescriptionLa taille du code-barres finale sera décidée automatiquement dépendamment du nombre de données que vous avez spécifié ainsi que le pourcentage de correction d'erreur à moins que vous spécifiez une valeur avec la méthodesetQRSize() .
Vous pouvez spécifier différentes valeurs à cette méthode pour obtenir un code différent. Voici les valeurs possibles :
BCGqrcode::QRCODE_SIZE_SMALLEST : Le code sera le plus petit possible
BCGqrcode::QRCODE_SIZE_MICROS : Le code sera en mode Micro
BCGqrcode::QRCODE_SIZE_FULL : Le code sera en mode full
La valeur par défaut estBCGqrcode::QRCODE_SIZE_FULL . -
setStructuredAppend(
$snum ,$st ,$sname ) — Spécifie que les données seront dispersées sur plusieurs codes-barresDescriptionLes données du code QRCode peuvent être séparées sur plusieurs codes-barres.
Le premier argument est le numéro du code-barres (commençant par 1), le deuxième argument est le nombre total de codes-barres que vous avez. Le dernier argument est un identifiant à votre groupe de code-barres. Celui-ci doit rester le même pour chaque code-barres.
La spécification indique que l'argument devrait être les données qui seront encodées sur tous les codes-barres.
Fournir une grande chaîne de caractères est extrêmement coûteux en termes de CPU. Rien ne vous empêche de fournir un identificateur différent si votre lecteur de codes-barres le supporte.
Il est possible d'encoder sur 16 codes-barres différents au maximum.Retournebool -true en cas de succès,false en cas d'échec -
getFNC1()
—
Retourne si le FNC1 est activé
DescriptionRetourne si le FNC1 est activé.
Voyez aussi setFNC1() pour plus de détails.Retourneint - constante définie àsetFNC1() -
setFNC1(
$fnc1Type ,$fnc1Id ) — Transforme votre code-barres en standard GS1 ou AIMDescriptionCette méthode transformera votre code-barres pour accepter les FNC1 pour être au standard GS1 ou au standard AIM.
Le premier argument peut être :
-BCGqrcode::QRCODE_FNC1_NONE : Le code ne suivra aucun standard.
-BCGqrcode::QRCODE_FNC1_GS1 : Le code suivra le standard GS1. Le second argument n'est pas utilisé. Séparez les identifiants GS1 par des %. Pour écrire un %, écrivez-le double %%.
-BCGqrcode::QRCODE_FNC1_AIM : Le code suivra le standard AIM. Le second argument doit être utilisé, il s'agit de l'identificateur de l'application. Cela doit être une lettre (chaîne de caractères) ou 2 chiffres (entier).
La valeur par défaut estBCGqrcode::QRCODE_FNC1_NONE . -
getAcceptECI()
—
Retourne si les codes ECI sont acceptés
DescriptionRetourne si les codes ECI sont acceptés.
Voyez aussi setAcceptECI() pour plus de détails.Retournebool -
setAcceptECI(
$accept ) — Spécifie d'accepter les codes ECIDescriptionEn mettanttrue à l'argument de cette méthode, les caractères antislash (ASCII 92 \) seront pris comme des caractères spéciaux. Voici les caractères spéciaux que vous pouvez écrire.
- \\ : Écrit un simple antislash
- \xxxxxx : Écrit le caractère ECI xxxxxx avec x pouvant varier de 0 à 9
La valeur par défaut est false. -
getQuietZone()
—
Retourne si la zone muette sera dessinée
Retourne
bool -true si activé,false autrement -
setQuietZone(
$quietZone ) — Spécifie de dessiner une zone muette autour du code-barresDescriptionPour être lu correctement, le QRCode doit avoir une zone muette (quiet zone) autour de l'image. Vous pouvez cependant ne pas l'afficher.
La valeur par défaut est true. -
getMirror()
—
Retourne si le mode miroir est activé
DescriptionRetourne si le mode miroir est activé.Retourne
bool -true si activé,false autrement -
setMirror(
$mirror ) — Spécifie de dessiner le code-barres en miroirDescriptionIl est possible de lire le code-barres en mode miroir. Si vous fixez cette variable à %1$s, le code-barres sera dessiné en miroir.
La valeur par défaut est false. -
getMask()
—
Retourne le masque choisi
DescriptionRetourne le masque choisi.Retourne
int - valeur entre -1 et 8 -
setMask(
$mask ) — Spécifie un masque plutôt que d'en calculer unDescriptionQRCode calcule 8 masques différents avant de dessiner le code. Un masque permet de changer l'apparence de votre code-barres afin qu'il soit lu plus facilement par votre lecteur de codes-barres. Des opérations mathématiques sont exécutées sur chaque masque pour vérifier lequel est le plus satisfaisant. Ces opérations sont extrêmement couteuses en termes de CPU. Si la vitesse de génération est importante pour vous, vous pourriez considérer de forcer un masque en particulier. Notez que votre code-barres peut devenir difficile ou impossible à lire.
Si votre code-barres est Micro, les valeurs valides pour$mask sont 0 à 3.
Si votre code-barres est Complet, les valeurs valides pour$mask sont 0 à 7.
Si vous spécifez -1, le masque sera choisi automatiquement.
La valeur par défaut est -1. -
setQRSize(
$qrSize ,$qrMicro ) — Spécifie une taille à utiliser pour le code-barresDescriptionBarcode Bakery générera le plus petit code-barres basé sur les informations que vous fournissez.
Si vous souhaitez avoir une taille spécifique, vous pouvez la forcer avec cette méthode.
Le premier argument est la version du code-barres et le deuxième argument indique si vous souhaitez un mode Micro.
Si$qrMicro est fixé àtrue , les valeurs valides pour$qrSize sont 1 à 4.
Si$qrMicro est fixé àfalse , les valeurs valides pour$qrSize sont 1 à 40.
Si vous fixez -1, la taille du code-barres sera choisie automatiquement. Le deuxième argument n'est pas utilisé dans ce cas; si vous souhaitez avoir un mode Micro ou un mode Complet, voyez la méthodesetSize() .
La valeur par défaut est -1.
-
setScaleX(
$scaleX ) — Spécifie la résolution du codes-barres en XDescriptionLa largeur en pixel d'un module.
La valeur par défaut est 1.
Notez que cette méthode est protégée (protected). -
setScaleY(
$scaleY ) — Spécifie la résolution du codes-barres en YDescriptionLa hauteur en pixel d'un module.
La valeur par défaut est 1.
Notez que cette méthode est protégée (protected).
-
parse(
$text ) — Analyse un message$text pour dessiner par la suiteDescriptionLes données que vous passez à l'argument$text doivent être supportées par le type de code-barres que vous utilisez.
Référez-vous à l'introduction de chaque code-barres pour obtenir plus d'informations comment utiliser cette méthode pour chaque type de code-barres. -
draw(
$image ) — Dessine le code-barres sur l'image$image DescriptionLa valeur de l'argument$image doit être une image ressource. La taille de l'image peut être définie avec la valeur reçue degetDimension() . -
getDimension(
$width ,$height ) — Retourne un tableau concernant la taille de l'image requiseDescriptionRetourne un tableau dont le premier index est la largeur de l'image et le deuxième index est la hauteur de l'image.
Les arguments sont utilisés pour spécifier le point de départ du dessin. Ils devraient être 0.
La classeBCGDrawing utilise cette fonction pour créer la ressource d'image.Retournearray(int, int) - [0] étant la largeur, [1] étant la hauteur -
getScale()
—
Retourne la résolution du code-barres
DescriptionRetourne la taille du code-barres. La valeur correspond à la "plus petite" unité exprimée en pixel.Retourne
int - valeur en pixels -
setScale(
$scale ) — Fixe la résolution du code-barresDescriptionLe code-barres sera$x fois plus grand. Un pixel sera alors de taille$x par$x . -
getForegroundColor()
—
Retourne la couleur des barres
DescriptionRetourne la couleur des barres du code-barres.Retourne
-
setForegroundColor(
$color ) — Fixe la couleur des barres -
getBackgroundColor()
—
Retourne la couleur des espaces
DescriptionRetourne la couleur des espaces du code-barres.Retourne
-
setBackgroundColor(
$color ) — Fixe la couleur des espaces -
setColor(
$foregroundColor ,$backgroundColor ) — Fixe la couleur des barres et des espacesDescriptionUne méthode plus rapide pour fixer la couleur de premier plan et de l'arrière-plan. Référez-vous àsetForegroundColor() etsetBackgroundColor() . -
getOffsetX()
—
Retourne le décalage en X
DescriptionRetourne le décalage en X en pixel. Cette valeur n'est pas multipliée par la résolution.Retourne
int - valeur en pixels -
setOffsetX(
$value ) — Spécifie le décalage en XDescriptionSpécifie le décalage en X du code-barres en pixel multiplié par la résolution. La taille requise retournée pargetDimension() sera modifiée en conséquence. -
getOffsetY()
—
Retourne le décalage en Y
DescriptionRetourne le décalage en Y en pixel. Cette valeur n'est pas multipliée par la résolution.Retourne
int - valeur en pixels -
setOffsetY(
$value ) — Spécifie le décalage en YDescriptionSpécifie le décalage en Y du code-barres en pixel multiplié par la résolution. La taille requise retournée pargetDimension() sera modifiée en conséquence. -
addLabel(
$label ) — Ajoute un texte qui accompagne le dessinDescriptionAjoute un objetBCGLabel au dessin. -
removeLabel(
$label ) — Supprime un texte qui accompagne le dessinDescriptionSupprime un objetBCGLabel spécifique du graphique. -
clearLabels()
—
Supprime les textes qui accompagnent le dessin
DescriptionSupprime tous les objets
BCGLabel du dessin.