Qual foto funciona dentro de um código QR
Um código QR com dithering dá a você uma tela de cerca de 300 pixels com um código disputando o mesmo espaço. A maioria das fotografias não sobrevive a isso. Algumas ficam melhores que o original. A diferença é decidida quase inteiramente antes de você enviar, pelo que a imagem é e por como ela está recortada.
O tamanho com que você realmente está trabalhando
Um link curto produz um código de cerca de 29×29 módulos. A nove pixels por módulo isso é um quadrado de 261 pixels, e um pedaço dele já está tomado pelos padrões dos cantos e por cada módulo que o código força sólido. O que quer que você envie vai ser reduzido a algumas centenas de pixels de pontilhado em duas cores. Planeje para um selo de cartaz, não para uma impressão. Essa é a mudança mental mais útil: uma fotografia que parece rica a dois mil pixels de largura tem que fazer seu efeito em cerca de trinta módulos de lado, e cada módulo só consegue carregar um tom aproximado. Os quadrados localizadores em três cantos ocupam um bloco 7×7 cada mais suas margens, o que tira os cantos de jogo; o quadrado de alinhamento e as linhas de temporização tiram um pouco mais. O que sobra é um campo aproximadamente quadrado, um pouco menor que o código, no qual a imagem precisa ser reconhecível na resolução de um meio-tom grosseiro de jornal. Imagens que foram projetadas para serem lidas assim — logotipos, ícones, cartazes — tendem a sobreviver; imagens que dependem de detalhe tendem a não sobreviver.
Contraste real, não alta saturação
O dithering só vê brilho. Uma imagem vívida de vermelho sobre azul com ambos na mesma luminosidade vira uma pasta uniforme, porque para o dithering eles são o mesmo cinza. Converta sua candidata para tons de cinza antes de decidir; se parecer chapada em cinza, vai parecer chapada no código. Imagens com uma faixa real do escuro ao claro — um rosto iluminado contra um fundo escuro, um logotipo preto sobre branco — funcionam. A razão é mecânica, não estética: o dithering reproduz o tom como densidade de pontos, então uma imagem cujos tons estão todos perto do meio vira um campo uniforme de pontos de meia densidade, e um campo uniforme de pontos é um tabuleiro de xadrez. Um tabuleiro de xadrez é a única textura que compete genuinamente com os próprios módulos do código, porque tem energia exatamente na escala que um leitor está procurando. O estúdio mede a faixa do claro ao escuro de uma imagem enviada e avisa quando não há quase nenhuma; se ele disser isso, acredite. Não é uma opinião sobre a sua foto, é um relato de que o dithering não terá com o que trabalhar e o código será mais fraco por isso.
Um assunto, preenchendo o quadro, em formas grandes
O código é um quadrado e a imagem é recortada para preenchê-lo. Uma paisagem larga perde as laterais; uma foto de grupo vira seis borrões ilegíveis. Recorte para um único assunto que já preencha a maior parte do quadro antes de enviar, em vez de torcer para que o recorte automático acerte. Depois pense em formas, não em detalhes: qualquer coisa menor que cerca de três módulos simplesmente não está lá. Texto desaparece. Fios de cabelo, trama de tecido, folhagem — tudo isso vira ruído indistinguível do próprio pontilhado do código. Silhuetas, sombras fortes e grandes massas planas são o que é lido. Rostos são o assunto mais confiável porque nós os reconhecemos com pouquíssima informação — duas órbitas escuras, uma linha de boca, uma borda de mandíbula. Mas isso só vale se o rosto preencher o quadrado. Um enquadramento de cabeça e ombros funciona; um de corpo inteiro coloca o rosto em quatro módulos e ele some. Um retrato fechado iluminado de um lado é o melhor caso e é lido como um rosto imediatamente; um logotipo sólido ou uma marca em texto sobre fundo liso é excelente e continua legível; um único produto sobre fundo limpo é bom com um reforço de contraste; um animal recortado de perto funciona pelo mesmo motivo que um rosto. Paisagens, panoramas urbanos e multidões são lidos como textura, e uma imagem chapada, iluminada uniformemente e de baixo contraste é o pior caso.
Prepare a imagem primeiro
Recorte em quadrado, com o assunto preenchendo a maior parte do quadro. Aumente o contraste além do que parece certo na tela — o dithering devora os meios-tons, e uma imagem que parece um pouco dura como fotografia sai equilibrada como código. Se o fundo é agitado, escureça-o ou apague-o; o código vai usar essa área de qualquer forma, e um campo liso atrás do assunto dá aos módulos um lugar para ficar sem brigar com uma textura. Não posterize nem aplique dithering antes: o gerador precisa dos cinzas para distribuir o erro corretamente, e uma imagem que já está em duas cores não dá à difusão de erro nada para difundir, então os módulos forçados se destacam como manchas em vez de se esconderem no grão. Envie um JPEG ou PNG; o estúdio rejeita arquivos que não consegue ler. Espere que a exportação seja apenas PNG, já que um código com foto é feito de pixels e não pode ser expresso como formas vetoriais, e espere que ele saia em um múltiplo inteiro da grade de módulos para que os módulos continuem quadrados. Se você tinha um logotipo no código, ele é removido quando uma foto é adicionada, porque a foto preenche o quadrado inteiro.
E o link importa tanto quanto a foto
Um destino longo torna o código mais denso, e um código mais denso deixa menos espaço para a imagem. Cada caractere extra no texto codificado empurra o código para uma versão mais alta com mais módulos, menores, no mesmo quadrado; a nove pixels por módulo o quadrado cresce, mas a parcela dele que o código força sólida cresce junto, e a fotografia fica espremida no meio. O estúdio avisa quando o destino é longo o bastante para sufocar a imagem. Se a foto importa, aponte o código para um link curto de redirecionamento e mude o destino por trás dele depois — que é para isso que os códigos dinâmicos servem de qualquer forma. Isso tem um segundo benefício especificamente para códigos artísticos: um código com foto é a última coisa que você quer regenerar e reimprimir, porque a imagem, o balanço e o teste de impressão precisam ser todos refeitos. Com um código dinâmico a imagem é definida uma vez e o destino pode mudar quantas vezes for preciso. Seja qual for a escolha, imprima um e escaneie com um celular de verdade no tamanho real antes da tiragem.
| Assunto | Resultado |
|---|---|
| Retrato fechado, iluminado de um lado | Melhor caso — é lido como um rosto imediatamente |
| Logotipo sólido ou marca em texto sobre fundo liso | Excelente, e continua legível |
| Único produto sobre fundo limpo | Bom com um reforço de contraste |
| Animal, recorte fechado | Bom — mesmo motivo pelo qual rostos funcionam |
| Paisagem, panorama urbano, multidão | Ruim — é lido como textura |
| Chapada, iluminada uniformemente, baixo contraste | Pior caso — vira um tabuleiro de xadrez com o dithering e enfraquece o código |
Perguntas frequentes
Posso colocar texto ou um slogan na foto?
Não de forma legível. Qualquer coisa mais estreita que cerca de três módulos desaparece no pontilhado, e texto quase sempre é. Uma marca em texto sólida e grande o bastante para ser uma forma pode funcionar; uma frase não.
Uma foto colorida funciona?
A cor é descartada; só o brilho importa. Verifique a imagem em tons de cinza primeiro. Se ainda tiver uma faixa clara do escuro ao claro, vai funcionar; se ficar chapada em cinza, vai ficar chapada no código.
Por que meu logotipo foi removido quando adicionei uma foto?
Um código com foto preenche o quadrado inteiro com a imagem com dithering, então não há uma camada separada de logotipo. Coloque o logotipo na própria foto, sobre um fundo liso, se quiser que ele apareça no código.
Por que o código com foto é só PNG?
Ele é feito de pixels individuais produzidos pelo dithering, que não podem ser expressos como formas vetoriais. É exportado em um múltiplo inteiro da grade de módulos para que os módulos continuem quadrados quando impressos.
Imprima o quadrado uma vez. Decida depois para onde ele leva. O SWAPQR cria códigos QR estáticos de graça, com todas as opções de estilo, sem conta e sem marca d'água. Um plano pago torna um código dinâmico: o quadrado impresso continua o mesmo enquanto você muda o destino dele, e você vê quantas vezes ele foi escaneado, por dia e por dispositivo.
Criar um código QR no navegador