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

  • Ich benutze heute noch JASC Paintshop Pro 9.

    Seit es von Corel übernommen wurde, hat die Benutzerfreundlichkeit für Amateure IMHO wesentlich gelitten; in aktuellen Versionen ist eine Projektverwaltung zum Kern geworden, die ich nicht brauche, wenn ich "nur mal eben ein Bild bearbeiten will".

    Und ja, das ist ein Pixel-Grafikprogramm; auch mit Vektorfunktionen, die aber – das wiederhole ich jetzt zum wievielten Male? – nicht der Kern des Problems in diesem Thema sind. Vektorisieren kann man, nachdem man eine saubere Pixelgrafik hat. Das erstellen der sauberen Pixelvorlage aus einem Foto von einem so abgeriebenen Ausdruck mit schwachen Farbstellen ist hier das Thema:

    QR-Ausschnitt.png

    Eine solche Vorlage kann man nicht ohne aufwändige Vorarbeit erfolgreich vektorisieren. Da läuft der Kantenfinder Amok.

    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.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!