Couleur et contraste d'un QR code : les règles pour qu'il scanne — featured illustration
Design

Couleur et contraste d'un QR code : les règles pour qu'il scanne

6 min de lecture
Créer un QR code

Une graphiste livre un code aux couleurs de la marque : modules rouge foncé sur fond noir. Sur la diapositive de présentation, le rendu est élégant et fidèle à la charte. Mais ce code ne s'est jamais scanné une seule fois, et l'agrandir n'y changera rien.

Le problème n'est pas le rouge. C'est que le rouge et le noir ont presque la même luminosité.

Les décodeurs jettent la couleur avant de regarder quoi que ce soit

La toute première étape d'un décodage consiste à ranger chaque pixel dans l'une de deux catégories : sombre ou clair. La couleur est abandonnée à cet instant précis. Il ne reste que la luminosité, et une seule question compte : les modules tombent-ils nettement d'un côté du seuil, et le fond de l'autre ?

La vision humaine ne fonctionne pas ainsi. Nous lisons les écarts de teinte comme un contraste fort même quand deux couleurs sont presque identiques en luminance. Rouge sur noir, marine sur anthracite, jaune sur blanc, gris moyen sur à peu près tout : tout cela ressemble à du contraste pour une personne et à de la bouillie pour un seuil.

Il existe un test de cinq secondes qui tranche le débat. Convertissez la création en niveaux de gris dans n'importe quel éditeur d'image. Si vous ne distinguez pas les modules du fond en niveaux de gris, aucun décodeur ne le peut non plus, et aucun téléphone, aucune lumière et aucune taille d'impression ne le sauvera.

Les chiffres sont un point de départ, pas une spécification

Divers repères de contraste circulent pour les QR codes. Traitez chacun comme une règle empirique et non comme un seuil contre lequel on peut concevoir au ras, car la vraie limite bouge avec la caméra, la lumière ambiante, l'encre et le support.

L'objectif de travail qui tient en pratique : placez le premier plan franchement dans le quart sombre de l'échelle de clarté, le fond franchement dans le quart clair, et laissez le milieu vide. C'est délibérément conservateur, et cela doit l'être. Concevoir au bord d'un minimum publié revient à laisser la première caméra bon marché dans un hall mal éclairé trouver ce bord à votre place. Notre générateur personnalisé permet de fixer les deux couleurs directement, ce qui fait de la vérification en niveaux de gris une étape de trente secondes plutôt qu'une réimpression.

Sombre sur clair est la polarité sûre

Les codes sont spécifiés en modules sombres sur fond clair, et c'est ce que les décodeurs attendent. Les codes inversés, modules clairs sur champ sombre, sont lus par beaucoup de décodeurs modernes, qui tentent l'interprétation inversée après l'échec de la normale.

Beaucoup n'est pas tous. Téléphones anciens, scanners embarqués, lecteurs de bornes et matériel d'entrepôt sont nettement moins indulgents, et les lecteurs qui gèrent l'inversion mettent souvent plus de temps à accrocher, puisqu'ils l'essaient en second. Pour un écran, une application ou une affiche réimprimable, un code inversé est un risque gérable. Pour cinquante mille cartons imprimés, c'est une façon coûteuse de découvrir quels lecteurs possèdent vos clients. Si vous voulez voir des palettes sobres qui se tiennent bien, nos exemples sont tous des codes qui scannent.

Les dégradés échouent à une extrémité

Un dégradé sur un code n'est pas fatal d'office. Le seuillage local tolère des changements de luminosité progressifs, puisque chaque région est jugée par rapport à ses voisines. Le mode d'échec, c'est un dégradé qui commence dans une plage sûre et finit dans une plage dangereuse : la moitié claire se scanne, la moitié sombre non, et le symbole meurt.

Si vous voulez un dégradé, gardez toute la plage sombre. Un code allant du presque noir à un bleu saturé profond convient. Un code allant du noir vers une teinte pâle, non, aussi bon qu'ait été le point de départ. Les dégradés appliqués au fond sont pires, car les modules restent constants pendant que le sol glisse dessous : la séparation change d'un bout à l'autre du symbole et il n'existe aucun endroit unique où la mesurer.

La zone de silence fait partie de la décision de couleur

La marge d'espace clair autour du symbole n'est pas décorative. La détection des motifs de repérage dépend de plages nettes de clair et de sombre, et une photographie chargée ou un aplat de marque en demi-teinte pressé contre le bord du code interfère exactement avec cela.

Poser un code sur une image fonctionne si le code repose sur son propre aplat clair avec la marge intacte. Poser un code directement sur une photographie, même claire, donne au détecteur de la texture là où il attend de l'espace vide. Teinter légèrement la zone de silence est généralement survivable. La remplir de motif, non. Il y a plus sur le placement dans nos notes de design.

Les encres d'impression et le CMJN défont ce que vous avez validé à l'écran

L'impression introduit des modes d'échec qui n'existent pas sur un moniteur.

Métallisé et dorure. Ces matières réfléchissent de façon spéculaire. Sous la LED d'un téléphone, un module sombre métallisé peut briller plus fort que le fond précisément à l'angle où l'on tient le téléphone. L'argent sur blanc est la version classique du problème.

Fluorescent et néon. Chroma élevé, luminosité imprévisible, et comportement qui change avec la source lumineuse. Ils mesurent fréquemment bien plus clair qu'ils n'en ont l'air.

Vernis, gaufrage et texture. Tout ce qui capte la lumière de façon inégale sur le symbole complique le seuillage local, et sur un petit code cela peut visuellement relier des modules voisins.

Papier non couché et coloré. Le blanc n'est pas blanc. Le kraft, le carton recyclé et les emballages colorés relèvent le plancher et compriment le contraste que vous aviez conçu face à un écran rétroéclairé.

Puis il y a la conversion elle-même. Le contraste d'écran est de la lumière émise et le contraste d'impression de la lumière réfléchie : l'impression en a donc toujours moins à dépenser. Un noir RVB pur devient une combinaison d'encres de process et, selon la composition, peut atterrir nettement plus clair ou plus terne que le nuancier validé. Les verts, bleus et oranges RVB vifs se reproduisent typiquement plus sombres et plus mats, ce qui aide parfois et détruit parfois la séparation avec un fond coloré.

L'engraissement ajoute un effet de plus. L'encre s'étale légèrement, les modules sombres grossissent, les espaces clairs rétrécissent. Sur un grand code, personne ne le remarque. Sur un petit, cela ferme les intervalles entre modules et adoucit les bords dont le binariseur a besoin. Convertissez vers le vrai profil de sortie et regardez le résultat avant de valider quoi que ce soit. Nos conseils d'impression couvrent la moitié résolution du même problème.

Et en France ?

Les organismes publics français suivent une charte graphique commune, celle du système de design de l'État, avec deux couleurs identitaires : le bleu France (#000091) et le rouge Marianne (#E1000F).

Pour un QR code d'une mairie, d'un service public ou d'un établissement de l'État, le bleu France sur fond blanc est un excellent choix : il est très foncé et offre un contraste proche du noir. Le rouge Marianne, en revanche, ne convient pas aux modules, car les lecteurs le distinguent mal d'un fond clair. Utilisez-le plutôt pour le cadre ou l'appel à l'action, à l'extérieur de la zone de silence.

Testez comme il sera réellement utilisé

Un code qui se scanne sur le téléphone récent de la graphiste, à vingt centimètres, sous l'éclairage du studio, n'a presque rien prouvé. Le vrai test se fait avec un appareil moyen, à la distance réelle, sous la lumière du lieu où le code sera affiché.

  • Testez sur un téléphone bon marché ou ancien autant que sur un bon. L'écart entre capteurs est énorme et c'est là que meurent les codes limites.
  • Testez en mauvaise lumière : un restaurant au dîner, un hall la nuit, une voiture au crépuscule.
  • Testez à la taille imprimée finale, à la distance où se tiendrait une vraie personne.
  • Testez de biais plutôt que de face.
  • Testez l'épreuve imprimée sur le vrai support, pas le PDF sur un moniteur.
  • Retestez après chaque changement de couleur, y compris ceux qui paraissent anodins.

Quand un code échoue à ces contrôles, la solution consiste presque toujours à élargir l'écart de clarté plutôt qu'à agrandir le symbole. La taille règle les problèmes de résolution. Elle ne fait rien pour le contraste, et les échecs de scan qui survivent à un agrandissement sont d'ordinaire des échecs de contraste déguisés.

Partager cet article