QR-Codes identisch kopieren

  • Ich habe eine JS qr encode /decoder lib gefunden. Ein paar Sachen kann der Decoder ausspucken. Im Encode TAB wird beim Decode direkt das Bild neu erzeugt. Passt aber nie, weil das Mask Pattern fehlt.

    Kann man sicher auch irgendwie ausgeben lassen. (Beispiele sind auf Japanisch, habs übersetzt.)


    Wer ein wenig basteln möchte https://github.com/nuintun/qrcode


  • Mit reiner Bildbearbeitung habe ich es nicht auf die Schnelle geschafft. Für eine Quick & Dirty-Lösung habe ich die angeschnittenen Quadrate am Rand durch croppen zunächst entfernt und dann ein 16x16-Feld für die verbleibenden mittleren Felder bestimmt.


    Grüße Thomas

  • Das war nur ein Ausschnitt des Fotos, das ich von HQ-LQ privat erhalten habe. In der Größe fällt auch nicht auf, dass der Code streifenweise ganz leicht zusammengestaucht war, also nicht in der vollen Größe von 93×93 Quadraten gleichmäßig in ein Raster gepasst hat.


    Ich hoffe, du siehst auch, wie viel größer eine SVG-Datei ist: Eine 1-bit-PNG-Grafik (schwarz-weiß) braucht pro Pixel nur 1 bit, und das wird noch komprimiert abgespeichert. SVG ist ein "geschwätziges" Vektorformat auf Basis von SGML (eine Stufe unter XML). Nicht nur braucht ein jedes Quadrat eines QR-Codes eine eigene Farbangabe, sondern auch noch vier Koordinatenpaare für die jeweiligen Ecken, die in Zahlen in Textdarstellung angegeben werden (Binär wäre kleiner). Oder in deinem Fall sind es keine unabhängigen Quadrate, sondern Polygon-"Inseln"; dennoch ist das ziemlich aufwändig. Sehr viel effizienter sind Vektorformate bei schrägen Linien, Kurven und geometrischen Objekten, deren Repräsentation als Pixelgrafik tausenden Pixeln gegenüber steht, und die bei Skalierung deutlich mehr an Qualität verlieren als rechteckige Formen.