Cómo imprimir tu logo en un código QR

How-To sencillo de HackADay donde se explica cómo insertar el logo que quieras dentro de un código QR, voy a intentar traducirlo y explicarlo un poco. En concreto para la versión 6 de un código QR (41 pixels alto y ancho). Estos códigos tienen esta plantilla base (sobre ella construimos el nuestro propio, echa un vistazo a la ISO 18004 donde están las especificaciones técnicas del código QR):

blankbanner1

El color negro será siempre negro, los pixeles en blanco serán blancos, los rojos son zona donde no debes tocar y la parte gris es donde podemos hacer lo que queramos. La línea discontinua de colores blanco/negro arriba y a la izquierda se llaman "timming pattern" (patron de sincronización). Cada bit blanco/negro divide toda la cuadrícula en filas y columnas.

La zona gris (donde podemos hacer lo que queramos) quedaría dividida en 172 zonas con un tamaño de 8 pixels (1 byte), como muestra el dibujo (las partes blancas coinciden con los cuadrados que aparecen en el dibujo de antes):

coloredblankbanner

Las líneas negras muestran la conexión entre ellos, por lo general no son continuas.

Cada unos de estos 8 pixeles de colores se convierten en un byte de datos en código alfanumérico QR. Y ahora viene la pregunta del millón ¿cuales de estos bytes son importantes y cuales podemos modificar?.  Incluso si el 30% del código es basura, aún se podría leer el código original. Eso significa que con 172 áreas, sobre 51 de ellas se pueden modificar de cualquier forma o dibujo.

A partir de este punto el tutorial te muestra cómo introducir el logo de HackADay dentro de un QR generado por ejemplo aquí.

Ellos directamente lo pegaron usando Photoshop, y editaron el logo con Paint. Es importante incluir los espacios positivos y negativos cuando se diseña el logo:

small-logo

Luego se superpone en el mapa a color que hemos indicado antes y contando las celdas de 8 bits que tapamos con el logo si vemos que no pasa del 30% entonces podemos seguir:

overlay1

Este es el resultado final: larger-banner

También podemos hacer logos incluso en color, ya que sólo importa el contraste. Pero aún hay más, podemos hacer el QR también con el logo con más resolución, no hace falta que esté pixelado. Mira de nuevo el ejemplo de HackADay:

hadbanner

¿A que mola eh? ;) , estupendo artículo de HackADay.