{"id":11753,"date":"2023-11-05T18:00:23","date_gmt":"2023-11-05T17:00:23","guid":{"rendered":"https:\/\/vielzutun.ch\/wordpress\/?p=11753"},"modified":"2023-11-12T15:43:00","modified_gmt":"2023-11-12T14:43:00","slug":"qr-codes-drucken","status":"publish","type":"post","link":"https:\/\/vielzutun.ch\/wordpress\/?p=11753","title":{"rendered":"QR-Codes drucken"},"content":{"rendered":"\n<p>In meinem <a rel=\"noreferrer noopener\" href=\"https:\/\/vielzutun.ch\/wordpress\/?p=11591\" data-type=\"link\" data-id=\"https:\/\/vielzutun.ch\/wordpress\/?p=11591\" target=\"_blank\">vorigen Beitrag<\/a> hatte ich ein geheimnisvolles und bisher noch nicht vollst\u00e4ndig realisiertes privates Druckprojekt erw\u00e4hnt. Dieses soll &#8211; neben dem DESMO Schriftzug &#8211; auch einen QR-Code enthalten. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"944\" src=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/No_Aliasing-1024x944.png\" alt=\"\" class=\"wp-image-11754\" style=\"aspect-ratio:1.0847457627118644;width:630px;height:auto\" srcset=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/No_Aliasing-1024x944.png 1024w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/No_Aliasing-300x276.png 300w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/No_Aliasing-768x708.png 768w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/No_Aliasing-1536x1415.png 1536w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/No_Aliasing-2048x1887.png 2048w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/No_Aliasing-1200x1106.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">QR-Code in Weissdruck auf Transparentfolie, hier vor schwarzem Hintergrund<\/figcaption><\/figure>\n\n\n\n<p>Auch hier ben\u00f6tigt der Dienstleister eine vektorisierte Version einer Struktur, die auf den ersten Blick wie eine stark vergr\u00f6sserte Bitmap aussieht.<\/p>\n\n\n\n<p>Als Computergrafiker bin ich es gewohnt, mich mit Bitmaps und Pixeln in allen Variationen auseinanderzusetzen. Also warum sollte man Bitmaps zuerst vektorisieren, wenn sie am Ende doch wieder auf einem Rasterger\u00e4t ausgegeben werden und wie eine Bitmap aussehen sollen? <\/p>\n\n\n\n<p>Dann habe ich aber im Verlauf meines Druckprojekts die Vorteile vektorisierter Grafik zu sch\u00e4tzen gelernt: man kann vektorisierten Content aus unterschiedlichen Quellen mittels geeigneter Programme beliebig miteinander kombinieren (d.h.: &#171;montieren&#187;), ohne auf unterschiedliche Formate und Abmessungen R\u00fccksicht nehmen zu m\u00fcssen. Das Sch\u00f6ne an vektorisierten Grafiken ist, dass man sie beliebig (und beliebig oft!) skalieren oder umpositionieren kann ohne auch nur den geringsten Qualit\u00e4tsverlust zu erleiden. Ich habe zu diesem Zweck <a rel=\"noreferrer noopener\" href=\"https:\/\/inkscape.org\/de\/\" data-type=\"link\" data-id=\"https:\/\/inkscape.org\/de\/\" target=\"_blank\">Inkscape<\/a> benutzt, eine freie Software f\u00fcr die Erstellung und Bearbeitung von Vektorgrafiken.<\/p>\n\n\n\n<p>Anders verh\u00e4lt es sich bei Bitmap-Grafiken. Nachfolgend der Vergleich zwischen einer Original Bitmap, und einer zehnmal hintereinander im Rasterraum(!) um den Faktor drei vergr\u00f6sserten, sowie anschliessend um den Faktor drei verkleinerten Bitmap (jeweils Ausschnittvergr\u00f6sserung):<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-02-um-18.46.52.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"944\" data-id=\"11767\" src=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-02-um-18.46.52-1024x944.png\" alt=\"\" class=\"wp-image-11767\" srcset=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-02-um-18.46.52-1024x944.png 1024w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-02-um-18.46.52-300x276.png 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><figcaption class=\"wp-element-caption\">kantenscharfes, unbearbeitetes  Original<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-02-um-18.47.15.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"946\" data-id=\"11768\" src=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-02-um-18.47.15-1024x946.png\" alt=\"\" class=\"wp-image-11768\" srcset=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-02-um-18.47.15-1024x946.png 1024w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-02-um-18.47.15-300x277.png 300w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-02-um-18.47.15-768x710.png 768w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-02-um-18.47.15-1536x1419.png 1536w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-02-um-18.47.15-2048x1892.png 2048w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-02-um-18.47.15-1200x1109.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><figcaption class=\"wp-element-caption\">unscharfe  Kanten nach Bearbeitung<\/figcaption><\/figure>\n<figcaption class=\"blocks-gallery-caption wp-element-caption\">Qualit\u00e4tsverlust bei Bearbeitung von Bitmap-Dateien<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>So komfortabel die Verwendung von vektorisierten Grafiken w\u00e4hrend einer Montage verschiedener Motiv-Bestandteile ist, so verschleiert doch deren ungehemmte Verwendung die Tatsache, dass am Ende einer derartigen Verarbeitungskette eben doch immer noch eine <a rel=\"noreferrer noopener\" href=\"https:\/\/de.wikipedia.org\/wiki\/Rasterung\" data-type=\"link\" data-id=\"https:\/\/de.wikipedia.org\/wiki\/Rasterung\" target=\"_blank\">Rasterung<\/a> steht. Zwar nur einmalig, aber doch genug, um einen Qualit\u00e4tsverlust im Ergebnis herbeizuf\u00fchren. Woher kommt dieser m\u00f6gliche Qualit\u00e4tsverlust, und wie \u00e4ussert er sich?<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Antialiasing<\/strong><\/p>\n\n\n\n<p>Im Vektorraum werden alle Koordinaten, Abmessungen etc. als <strong><em>Fliesskommazahlen<\/em><\/strong> gespeichert, wodurch nahezu beliebig feine Abstufungen m\u00f6glich werden. Bei einem Rasterausgabeger\u00e4t (z.B. LC Display, Laserdrucker, Tintenstrahdrucker etc.) ist man aber an feste, <strong><em>ganzzahlige<\/em><\/strong> Punkt-Positionen des jeweiligen Rasters gebunden. In der Anfangszeit der Computergrafik kam es daher zu dem Einigen noch bekannten &#171;pixeligen&#187; Aussehen. Mit dem Aufkommen von Ger\u00e4ten, die mehr als 1 Bit Farbtiefe unterst\u00fctzten, wurde dann &#171;Antialiasing&#187; eingesetzt, um den unsch\u00f6nen Treppeneffekt visuell abzumildern und dem Auge die Interpretation als kontinuierliche Struktur zu erleichtern:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Ohne_Mit_Antialiasing.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"944\" height=\"1024\" src=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Ohne_Mit_Antialiasing-944x1024.png\" alt=\"\" class=\"wp-image-11781\" srcset=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Ohne_Mit_Antialiasing-944x1024.png 944w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Ohne_Mit_Antialiasing-277x300.png 277w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Ohne_Mit_Antialiasing-768x833.png 768w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Ohne_Mit_Antialiasing-1417x1536.png 1417w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Ohne_Mit_Antialiasing-1889x2048.png 1889w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Ohne_Mit_Antialiasing-1200x1301.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><figcaption class=\"wp-element-caption\">Zum Effekt der Kantengl\u00e4ttung durch Antialiasing<\/figcaption><\/figure>\n\n\n\n<p>So gef\u00e4llig eine Kantengl\u00e4ttung durch Antialiasing bei gr\u00f6sseren Strukturen wirkt die als Ganzes wahrgenommen werden, so st\u00f6rend und sch\u00e4dlich ist Antialiasing bei Strukturen, bei denen Details erhalten bleiben m\u00fcssen, wie z.B. QR-Codes. Die \u00dcberg\u00e4nge zwischen Vordergrundfarbe und Hintergrundfarbe zweier <a rel=\"noreferrer noopener\" href=\"https:\/\/de.wikipedia.org\/wiki\/QR-Code#Grundlagen\" data-type=\"link\" data-id=\"https:\/\/de.wikipedia.org\/wiki\/QR-Code#Grundlagen\" target=\"_blank\">Module eines QR-Codes<\/a> sollten idealerweise sprunghaft von einem Rasterpunkt zum n\u00e4chsten erfolgen. Durch Antialiasing bei QR-Codes muss man allerdings damit rechnen, dass Modulgrenzen nicht exakt mit Rastergrenzen zusammenfallen und ein Modul im ung\u00fcnstigsten Fall allseitig von einer Punktreihe in einer Zwischenfarbe zwischen Vordergrund- und Hintergrundfarbe umgeben ist.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"632\" src=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Antialiasing_Modulgrenzen-1024x632.png\" alt=\"\" class=\"wp-image-11787\" srcset=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Antialiasing_Modulgrenzen-1024x632.png 1024w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Antialiasing_Modulgrenzen-300x185.png 300w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Antialiasing_Modulgrenzen-768x474.png 768w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Antialiasing_Modulgrenzen-1536x948.png 1536w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Antialiasing_Modulgrenzen-1200x740.png 1200w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Antialiasing_Modulgrenzen.png 1906w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">Ausschnittvergr\u00f6sserung eines QR-Codes: Antialiasing an Modulgrenzen<\/figcaption><\/figure>\n\n\n\n<p>Antialiasing an Modulgrenzen bedeutet somit einen Verlust an <a rel=\"noreferrer noopener\" href=\"https:\/\/de.wikipedia.org\/wiki\/Unsch%C3%A4rfe\" data-type=\"link\" data-id=\"https:\/\/de.wikipedia.org\/wiki\/Unsch%C3%A4rfe\" target=\"_blank\">Kantensch\u00e4rfe<\/a>, und reduziert die Lesbarkeit eines QR-Codes im Grenzbereich der Erkennbarkeit, z.B. aufgrund von Verschmutzung, Besch\u00e4digung, Ausleuchtung, Entfernung.<\/p>\n\n\n\n<p>Mir ist kein Verfahren bekannt, in dem man selektiv &#8211;&nbsp;f\u00fcr&nbsp;Motivabschnitte&nbsp;&#8211; Antialiasing deaktivieren kann. Was kann man also tun, wenn man in bestimmten Motivbereichen Antialiasing nutzen m\u00f6chte, im Bereich eines QR-Codes jedoch maximale Kantensch\u00e4rfe anstrebt?<\/p>\n\n\n\n<p>Meine L\u00f6sung bestand darin, darauf zu achten, dass beim finalen \u00dcbergang vom Vektorraum zum Rasterraum ausschliesslich <strong>ganzzahlige<\/strong> Punkt-Adressen vorkommen.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Wie macht man das?<\/strong><\/p>\n\n\n\n<p>Da ich mein eigener Auftraggeber bin, geniesse ich eine gewisse Freiheit darin, meine W\u00fcnsche mit den realen M\u00f6glichkeiten abzugleichen und ggf. anzupassen.<\/p>\n\n\n\n<p>So war es anf\u00e4nglich mein Ziel im erw\u00e4hnten Druckprojekt, dass QR-Code, DESMO-Logo und URL in einer Breite von <strong>50 mm<\/strong> ausgedruckt werden sollten.<\/p>\n\n\n\n<p>Drucker (im Sinne von: Dienstleister, die Druckdienstleistungen erbringen) verwenden f\u00fcr ihre Ausdrucke Rasterausgabeger\u00e4te, deren Aufl\u00f6sungsverm\u00f6gen in [dpi] ausgedr\u00fcckt wird &#8211; dots per inch. Wieviele diskret und ganzzahlig addressierbare Dots kann das Ger\u00e4t in einer Strecke der L\u00e4nge 1&nbsp;inch ( = 25.4 mm ) unterbringen. Ich habe diese Frage mit meinem prospektiven Dienstleister gekl\u00e4rt: er wird einen Drucker mit 600&nbsp;dpi einsetzen.<\/p>\n\n\n\n<p>50 mm entsprechen \u00fcberschl\u00e4gig 2 inch. Also st\u00fcnden auf der angepeilten Druckbreite rund 1200 dots zur Verf\u00fcgung. <\/p>\n\n\n\n<p>Die Information, welche ich in meinem QR-Code kodieren m\u00f6chte, erfordert bei dem mir unbekannten Korrekturlevel eines <a rel=\"noreferrer noopener\" href=\"https:\/\/www.qr-code-generator.com\/\" data-type=\"link\" data-id=\"https:\/\/www.qr-code-generator.com\/\" target=\"_blank\">kostenlosen QR-Code Generators<\/a> einen QR-Code der Version 4, entsprechend 33 x 33 <a rel=\"noreferrer noopener\" href=\"https:\/\/de.wikipedia.org\/wiki\/QR-Code#Grundlagen\" data-type=\"link\" data-id=\"https:\/\/de.wikipedia.org\/wiki\/QR-Code#Grundlagen\" target=\"_blank\">Modulen<\/a>. Eine garantiert Antialiasing-freie Druckausgabe erhalte ich genau dann, wenn die Koordinaten der Startposition und quadratischen Modulabmessung exakt einem ganzzahligen Vielfachen der Rasterweite des Zielger\u00e4ts entspricht.<\/p>\n\n\n\n<p><strong>In meinem konkreten Fall<\/strong>: 1200 Dots (s.o.) verteilt auf 33 Module ergibt den krummen Wert von 36.3636&#8230; dots pro Modul. Bei einer (freiwilligen) Reduktion auf exakt 36.0 dots pro Modul k\u00e4me ich auf eine Breite des QR-Codes von 33 Module x 36.0 dots pro Modul = <strong>1188.0 dots<\/strong>. Diese w\u00fcrden bei 600 dpi genau 1.98  inch Druckbreite ergeben, entsprechend <strong>50.292 mm<\/strong>. Das ist f\u00fcr meine Zwecke v\u00f6llig ausreichend nah an meinem urspr\u00fcnglich angepeilten Zielwert von 50.0 mm Druckbreite. \ud83d\ude0e<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Zur Vektorisierung von QR-Codes<\/strong><\/p>\n\n\n\n<p>An dieser Stelle vielleicht noch ein Einschub dar\u00fcber, wie ich meinen QR-Code vektorisiert habe. Auch wenn es mir ein wenig peinlich ist: bei 33&#215;33 Modulen ging das gerade noch mit der Methode des erweiterten &#171;Scharfen Hinsehens&#187;. Ich habe den QR-Code bildschirmf\u00fcllend dargestellt und dann Modul<strong><em>zeilen<\/em><\/strong>weise von links nach rechts abgez\u00e4hlt, nach wievielen Modulen jeweils ein Farbumschlag zwischen Vordergrundfarbe und Hintergrundfarbe, bzw. umgekehrt erfolgt.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-11.50.35.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"311\" src=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-11.50.35-1024x311.png\" alt=\"\" class=\"wp-image-11824\" srcset=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-11.50.35-1024x311.png 1024w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-11.50.35-300x91.png 300w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-11.50.35-768x233.png 768w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-11.50.35-1536x467.png 1536w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-11.50.35-2048x622.png 2048w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-11.50.35-1200x365.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><figcaption class=\"wp-element-caption\">Die obersten zehn Modulreihen meines QR-Codes mit Raster als Z\u00e4hlhilfe<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Im Ergebnis kam ich pro Modul-Zeile auf eine Komma-separierte Liste von Ganzzahlen. An der ersten Position jeder Zeile dieser Liste merke ich mir, ob die Modulreihe mit einem &#171;gesetzten = 1&#187; Modul beginnt welches in der Vordergrundfarbe zu zeichnen ist, oder mit einem &#171;ungesetzten = 0&#187; Modulbereich beginnt, welcher in der Hintergrundfarbe zu zeichnen ist, etwa so:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const QRData = &#91;\n\/\/ start_flag\tvalues ...\n\t&#91;1,\t7,3,1,1,4,4,2,2,1,1,7],      \t\n\t&#91;1,\t1,5,1,1,1,1,1,2,6,3,1,3,1,5,1],\n\t&#91;1,\t1,1,3,1,1,5,2,1,1,1,7,2,1,1,3,1,1],\n\t&#91;1,\t1,1,3,1,1,1,3,1,1,1,2,1,1,2,1,3,1,1,1,1,3,1,1],\n\t&#91;1,\t1,1,3,1,1,2,1,5,2,1,1,1,2,4,1,1,3,1,1],\n\t&#91;1,\t1,5,1,1,2,1,2,4,1,4,1,1,1,1,1,5,1],\n\t&#91;1,\t7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7],\n\t&#91;0,\t9,3,2,1,1,6,1,1,9],\n\t&#91;1,\t5,1,4,1,1,5,2,2,2,1,2,1,1,1,1,1,1,1],\n\t&#91;0,\t2,2,6,1,1,4,2,2,1,5,3,2,2],\n\/\/ ...\n       ];<\/code><\/pre>\n\n\n\n<p>Schliesslich werte ich obiges Datenarray in einem kleinen von mir geschriebenen Progr\u00e4mmchen Modul-zeilenweise in eine Serie <strong><a rel=\"noreferrer noopener\" href=\"https:\/\/www.w3schools.com\/graphics\/svg_rect.asp\" data-type=\"link\" data-id=\"https:\/\/www.w3schools.com\/graphics\/svg_rect.asp\" target=\"_blank\">svg rect<\/a><\/strong> Kommandos aus. Da ich auf eine transparente Klebefolie drucken lassen m\u00f6chte zum sp\u00e4teren Aufkleben auf einen dunklen Hintergrund, habe ich die Vordergrundfarbe auf &#171;weiss&#187; gesetzt und die Hintergrund&#187;farbe&#187; auf transparent. Dabei wandle ich &#171;gesetzte&#187; Modulbereiche um in rahmenlose und weiss gef\u00fcllte Rechtecke der jeweiligen Breite, und \u00fcberspringe ungesetzte Modulbereiche vor transparentem Hintergrund in der erforderlichen Breite. Hier der resultierende svg-Code f\u00fcr die obersten drei Modulzeilen und eine von mir gesetzte Modulweite von 10 &#171;Einheiten&#187;:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;svg id=\"svgOne\" width=\"330\" height=\"330\"&gt; \n\t&lt;rect x=\"0\" y=\"0\" width=\"70\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"100\" y=\"0\" width=\"10\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"120\" y=\"0\" width=\"40\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"200\" y=\"0\" width=\"20\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"240\" y=\"0\" width=\"10\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"260\" y=\"0\" width=\"70\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"0\" y=\"10\" width=\"10\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"60\" y=\"10\" width=\"10\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"80\" y=\"10\" width=\"10\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"100\" y=\"10\" width=\"10\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"130\" y=\"10\" width=\"60\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"220\" y=\"10\" width=\"10\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"260\" y=\"10\" width=\"10\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"320\" y=\"10\" width=\"10\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"0\" y=\"20\" width=\"10\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"20\" y=\"20\" width=\"30\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"60\" y=\"20\" width=\"10\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"120\" y=\"20\" width=\"20\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"150\" y=\"20\" width=\"10\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"170\" y=\"20\" width=\"70\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"260\" y=\"20\" width=\"10\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"280\" y=\"20\" width=\"30\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"320\" y=\"20\" width=\"10\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"0\" y=\"30\" width=\"10\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n\t&lt;rect x=\"20\" y=\"30\" width=\"30\" height=\"10\" fill=\"white\"&gt;&lt;\/rect&gt;\n&lt;!--  und so weiter ...  --&gt;\n\n&lt;\/svg&gt; <\/code><\/pre>\n\n\n\n<p>Die vollst\u00e4ndige svg-Datei enth\u00e4lt die vektorisierte Beschreibung meines QR-Codes die ich in Inkscape mit den anderen grafischen Elementen zu einem vereinheitlichten Layout montiere.<\/p>\n\n\n\n<p>In Inkscape kann ich mir Objektpositionen (X, Y) und -abmessungen (Breite, H\u00f6he) in unterschiedlichen Einheiten anzeigen lassen, darunter auch in Millimetern [mm] oder Pixeln [px]. Dies ist dann die Stelle, an der ich die Breite und H\u00f6he des QR-Codes auf die oben erw\u00e4hnten <strong>1188 Pixel<\/strong> des Ausgabeger\u00e4ts eingestellt habe. Zu beachten ist auch, dass ich s\u00e4mtliche gr\u00fcn eingerahmte Angaben auf <strong>ganzzahlige<\/strong> Werte eingestellt habe, mit s\u00e4mtlichen Nachkommastellen gleich Null:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-13.03.50.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"911\" height=\"1024\" src=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-13.03.50-911x1024.png\" alt=\"\" class=\"wp-image-11835\" srcset=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-13.03.50-911x1024.png 911w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-13.03.50-267x300.png 267w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-13.03.50-768x863.png 768w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-13.03.50-1366x1536.png 1366w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-13.03.50-1200x1349.png 1200w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-13.03.50.png 1676w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><figcaption class=\"wp-element-caption\">Screenshot aus Inkscape, QR-Code ausgew\u00e4hlt und Position \/Abmessungen gr\u00fcn hervorgehoben<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Wie kommt man dazu, sich mit so etwas zu befassen?<\/strong><\/p>\n\n\n\n<p>Im vorliegenden Anwendungsfall war das nur Zufall. Mir war n\u00e4mlich aufgefallen, dass erste Test-Exporte aus Inkscape mit anschliessendem Re-Import in <a rel=\"noreferrer noopener\" href=\"https:\/\/www.gimp.org\/\" data-type=\"link\" data-id=\"https:\/\/www.gimp.org\/\" target=\"_blank\">Gimp<\/a> eine deutliche Zeilenstruktur im Bereich des QR-Codes erkennen liessen, obwohl ich den &#171;Zeilenvorschub&#187; bei der zeilenweisen Vektorisierung des QR-Codes exakt auf die Modulweite eingestellt hatte und folglich eine <strong>nahtlose<\/strong> Folge von Modul-Zeilen erwartet hatte.<\/p>\n\n\n\n<p>Nach vielen Versuchen kam ich schliesslich dahinter, dass die horizontalen &#171;Linien&#187; Antialiasing-Artefakte sind welche daher r\u00fchren, dass ich die den QR-Code beschreibende svg-Datei in einer Breite und H\u00f6he hatte rendern lassen, welche  <strong>nicht  exakt gleich<\/strong> einem ganzzahligen Vielfachen der Anzahl Module meines QR-Codes war, n\u00e4mlich 33. Die genannten &#171;Linien&#187; entstehen durch das sequentielle Rendern eines jeden Rechtecks, wobei es bei H\u00f6he\/Breite ungleich ganzzahligen Vielfachen von 33 an Ober- bzw. Unterkante des Rechtecks zu Antialiasing kommen kann. Die betroffenen Linien werden dabei als Mischfarbe zwischen der von mir gew\u00e4hlten Vordergrundfarbe weiss und transparentem Hintergrund, also teil-transparent gezeichnet. Beim anschliessenden Hinterlegen mit einer schwarzen Hintergrundebene schimmert dieser dann als mehr oder weniger dunkle Linie durch die teiltransparenten Pixelreihen hindurch:<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.24.42.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"11848\" src=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.24.42-1024x1024.png\" alt=\"\" class=\"wp-image-11848\" srcset=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.24.42-1024x1024.png 1024w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.24.42-300x300.png 300w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.24.42-150x150.png 150w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.24.42-768x768.png 768w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.24.42-1536x1536.png 1536w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.24.42-1200x1200.png 1200w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.24.42.png 1592w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><figcaption class=\"wp-element-caption\">Antialiasing Artefakte beim Rendern auf 199&#215;199 Pixel<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.25.38.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"11849\" src=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.25.38-1024x1024.png\" alt=\"\" class=\"wp-image-11849\" srcset=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.25.38-1024x1024.png 1024w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.25.38-300x300.png 300w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.25.38-150x150.png 150w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.25.38-768x768.png 768w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.25.38-1536x1536.png 1536w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.25.38-1200x1200.png 1200w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.25.38.png 1584w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><figcaption class=\"wp-element-caption\">keine Atialiasing Artefakte beim Rendern auf 198&#215;198 Pixel<\/figcaption><\/figure>\n<figcaption class=\"blocks-gallery-caption wp-element-caption\">Auswirkung von nicht exakt ganzzahligen Vielfachen der QR-Code Abmessungen in [Anzahl Module]<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Die obigen beiden Grafiken stellen einen QR-Code der Abmessungen 33&#215;33 Module dar. Links auf eine Bitmap der Gr\u00f6sse 199&#215;199 Pixel gerendert, einem nicht exakt ganzzahligen Vielfachen von 33&#215;33. Die rechte Grafik wurde auf eine Bitmap der Abmessungen 198&#215;198 Pixel gerendert, was dem <strong>exakt<\/strong> 6-fachen der QR-Code Abmessungen von 33&#215;33 entspricht. Der Effekt von nur einem einzigen Pixel Abweichung vom ganzzahligen Vielfachen ist echt verbl\u00fcffend. Er wird st\u00e4rker, je kleiner das Vielfache der Anzahl Module beim Rendern gew\u00e4hlt wird. Nachfolgend f\u00fcr diverse kleine Vielfache von\u00a033:<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-2 is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"544\" height=\"544\" data-id=\"11851\" src=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.36.19.png\" alt=\"\" class=\"wp-image-11851\" srcset=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.36.19.png 544w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.36.19-300x300.png 300w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.36.19-150x150.png 150w\" sizes=\"auto, (max-width: 544px) 85vw, 544px\" \/><figcaption class=\"wp-element-caption\">34&#215;34<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"528\" height=\"528\" data-id=\"11850\" src=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.37.11.png\" alt=\"\" class=\"wp-image-11850\" srcset=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.37.11.png 528w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.37.11-300x300.png 300w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.37.11-150x150.png 150w\" sizes=\"auto, (max-width: 528px) 85vw, 528px\" \/><figcaption class=\"wp-element-caption\">33&#215;33<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1022\" data-id=\"11853\" src=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.40.08-1024x1022.png\" alt=\"\" class=\"wp-image-11853\" srcset=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.40.08-1024x1022.png 1024w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.40.08-300x300.png 300w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.40.08-150x150.png 150w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.40.08-768x767.png 768w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.40.08.png 1074w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">67&#215;67<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"11852\" src=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.41.21-1024x1024.png\" alt=\"\" class=\"wp-image-11852\" srcset=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.41.21-1024x1024.png 1024w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.41.21-300x300.png 300w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.41.21-150x150.png 150w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.41.21-768x768.png 768w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.41.21.png 1056w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">66&#215;66<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"11855\" src=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.44.27-1024x1024.png\" alt=\"\" class=\"wp-image-11855\" srcset=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.44.27-1024x1024.png 1024w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.44.27-300x300.png 300w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.44.27-150x150.png 150w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.44.27-768x768.png 768w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.44.27-1536x1536.png 1536w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.44.27-1200x1200.png 1200w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.44.27.png 1600w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">100&#215;100<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"11856\" src=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.45.21-1024x1024.png\" alt=\"\" class=\"wp-image-11856\" srcset=\"https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.45.21-1024x1024.png 1024w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.45.21-300x300.png 300w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.45.21-150x150.png 150w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.45.21-768x768.png 768w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.45.21-1536x1536.png 1536w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.45.21-1200x1200.png 1200w, https:\/\/vielzutun.ch\/wordpress\/wp-content\/uploads\/2023\/11\/Bildschirmfoto-2023-11-05-um-17.45.21.png 1584w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption class=\"wp-element-caption\">99&#215;99<\/figcaption><\/figure>\n<figcaption class=\"blocks-gallery-caption wp-element-caption\">Einfluss einer 1-Ausgabepixel Fehlausrichtung auf ganzzahlige Vielfache der QR-Code Abmessungen in [Anzahl Module](hier: 33&#215;33)<\/figcaption><\/figure>\n\n\n\n<p> <\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Fazit<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Es lohnt sich <strong>immer<\/strong>, Druckabmessungen in [Anzahl Dots des Ausgabeger\u00e4ts] eines QR-Codes auf ganzzahlige Vielfache der jeweiligen QR-Code Abmessungen in [Anzahl Module] auszurichten. Auch die Positionen von Rechtecken (linke obere Ecke) m\u00fcssen auf glatten, ganzzahligen Rasteraddressen liegen.<\/li>\n\n\n\n<li>Falls dies nicht m\u00f6glich ist, den QR-Code mit <strong>m\u00f6glichst vielen Dots pro Modul<\/strong> drucken lassen. Dadurch wird der Einfluss einer umlaufenden 1-Dot breiten Unsch\u00e4rfezone verringert. Der Erfinder der QR-Code Technologie, die japanische Firma Denso Wave <a href=\"https:\/\/www.qrcode.com\/en\/howto\/cell.html\" data-type=\"link\" data-id=\"https:\/\/www.qrcode.com\/en\/howto\/cell.html\" target=\"_blank\" rel=\"noreferrer noopener\">empfiehlt<\/a>, zur Vermeidung von Unsch\u00e4rfe (sic!) und zur Optimierung des Anteils erfolgreicher QR-Code Scans mindestens(!)  4\u00a0Drucker-Dots pro Modul zu verwenden.<\/li>\n\n\n\n<li>Als Verallgemeinerung von Tip 2: sofern eine Wahlm\u00f6glichkeit besteht, einem h\u00f6her aufl\u00f6senden Ausgabeger\u00e4t bei vorgegebener Breite des Ausdrucks immer den Vorzug geben.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>In meinem vorigen Beitrag hatte ich ein geheimnisvolles und bisher noch nicht vollst\u00e4ndig realisiertes privates Druckprojekt erw\u00e4hnt. Dieses soll &#8211; neben dem DESMO Schriftzug &#8211; auch einen QR-Code enthalten. Auch hier ben\u00f6tigt der Dienstleister eine vektorisierte Version einer Struktur, die auf den ersten Blick wie eine stark vergr\u00f6sserte Bitmap aussieht. Als Computergrafiker bin ich es &hellip; <a href=\"https:\/\/vielzutun.ch\/wordpress\/?p=11753\" class=\"more-link\"><span class=\"screen-reader-text\">&#8220;QR-Codes drucken&#8221; <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_stc_notifier_status":"","_stc_notifier_sent_time":"","_stc_notifier_request":false,"_stc_notifier_prevent":false,"_stc_subscriber_keywords":"","_stc_subscriber_search_areas":"","footnotes":""},"categories":[184,211],"tags":[237,264,258,257],"class_list":["post-11753","post","type-post","status-publish","format-standard","hentry","category-computergrafik","category-engineering","tag-druck","tag-qr-code","tag-rastergrafik","tag-vektorgrafik"],"_links":{"self":[{"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/11753","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11753"}],"version-history":[{"count":93,"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/11753\/revisions"}],"predecessor-version":[{"id":11935,"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/11753\/revisions\/11935"}],"wp:attachment":[{"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11753"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11753"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vielzutun.ch\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11753"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}