QR code in Java selber generieren

httpdigest

Top Contributor
Solltest du nicht lieber zuerst einmal in Gänze und vollständig die Funktionsweise und Implementierung einer CPU verstehen, bevor du dich an so etwas high-levelliges wie das Erstellen eines QR-Codes mittels Software in Java wagst?

Was ist denn aus dem vorherigen Thread geworden?

Wenn jetzt deine CPU abraucht, weil du eine Endlosschleife in deinem QR-Code-Erstellungsprogramm programmiert hast und die Temperaturfühler der CPU zu diesem Zeitpunkt rein zufällig allesamt kaputtgegangen sind, so dass die CPU sich nicht heruntergethrottled hat und die Lüftung auch nicht ausreichend war...

Da solltest du schon in der Lage sein, das wieder reparieren zu können.

Schließlich will man doch komplett alles verstehen und auch reparieren können...

Das siehst du sicherlich ganz genauso.

Deshalb finde ich, springst du zu viel zwischen unterschiedlichen Themen und Abstraktionsebenen hindundher. Zuerst einmal solltest du dich wirklich mit Elektronik/Elektrotechnik beschäftigen.
 

mihe7

Top Contributor
Das Muster ergibt sich automatisch. Die Codewörter werden von rechts unten nach links oben ausgegeben, wobei die Richtung alterniert. Im "Normalfall" werden die 8 Bits in rechteckige 2x4-Blöcke gesetzt. Jetzt gibt es aber Module, die anderweitig belegt sind und "im Weg" stehen, so dass sich andere Muster ergeben.
 
@mihe7 Ich denke, Data Matrix ist erst einmal etwas einfacher.

Aber auch dort verstehe ich die Anordnung nicht. Insbesondere dies: https://en.wikipedia.org/wiki/Data_Matrix#Encoding und https://upload.wikimedia.org/wikipedia/commons/a/a7/Datamatrixfilling.png .

Auf den ISO-Standard habe ich keinen Zugriff, muss mich so ein bisschen zwischen den Wikipedia Artikeln hin und her hangeln.

Das ist der bisherige Ansatz:

Java:
import javax.swing.*;
import java.awt.*;

public class DataMatrix {
    static class DMCanvas extends Canvas {
        private static final int size1 = 20;
        private static final int size2 = 18;
        private boolean[][] bits = new boolean[size2][size2];

        public void setText(String text) {
            if (text.length() > size2 * size2) {
                throw new IllegalArgumentException();
            }
            bits = new boolean[size2][size2];
            int i = 0;
            for (char c : text.toCharArray()) {
                if (c > 255) {
                    throw new IllegalArgumentException();
                }
                for (int j = 0; j < 8; j++) {
                    if ((c & 1) == 1) {
                        bits[i / size2][i % size2] = true;
                    }
                    c >>= 1;
                    i++;
                }
            }
        }

        private void set(int x, int y, boolean one, Graphics g) {
            int w = this.getWidth();
            int h = this.getHeight();
            int max = Math.min(w, h) - 40;
            int len = (int) Math.floor(max / 20.0);
            if (one) {
                g.fillRect(10 + x * len, 10 + y * len, len, len);
            }
        }

        private void setBorders(Graphics g) {
            for (int i = 0; i < size1; i++) {
                set(i, 0, i % 2 == 0, g);
                set(size1 - 1, i, i % 2 != 0, g);
                set(0, i, true, g);
                set(i, size1 - 1, true, g);
            }
        }

        private void setDataMatrix(Graphics g) {
            for (int y = 0; y < size2; y++) {
                for (int x = 0; x < size2; x++) {
                    set(1 + x, 1 + y, bits[y][x], g);
                }
            }
        }

        @Override
        public void paint(Graphics g) {
            setBorders(g);
            setDataMatrix(g);
        }
    }

    public DataMatrix() {
        DMCanvas can = new DMCanvas();
        can.setText("Hallo Welt...");
        JFrame frame = new JFrame("DataMatrixCode");
        frame.add(can);
        frame.setSize(425, 450);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        new DataMatrix();
    }
}

Funktioniert nur leider nich, das Finder Pattern und das Alternating Pattern müsste richtig sein, aber der Rest... 🤷‍♂️

1696926695631.png
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Variablen im Java-Code selber "ausrechnen" Java Basics - Anfänger-Themen 8
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
W Java-code Java Basics - Anfänger-Themen 8
W Java-code Java Basics - Anfänger-Themen 9
W Java-Code erklären Java Basics - Anfänger-Themen 6
C Java boolean Code läuft nicht Java Basics - Anfänger-Themen 5
B Den Dateipfad einer Java Datei durch Code in Selbiger finden? Java Basics - Anfänger-Themen 10
S Hilfe bei Umänderung von Java Code Java Basics - Anfänger-Themen 16
N Java-Code abwärtskompatibel machen Java Basics - Anfänger-Themen 4
Aemulit Java Schaltjahr berechnen Code Java Basics - Anfänger-Themen 7
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2
I Erklärung zum Java Code Java Basics - Anfänger-Themen 2
AlexVo String zu Java Anweisung getString("*** java code ***") Java Basics - Anfänger-Themen 19
Gaudimagspam Caesars Code entziffern in Java Java Basics - Anfänger-Themen 8
X Reverse algorithm engineering (Java code) Java Basics - Anfänger-Themen 6
M Java Code Verständnis Java Basics - Anfänger-Themen 4
M Java Code Verständnis Java Basics - Anfänger-Themen 2
J Fragen zum Code aus dem Buch "Schrödinger programmiert Java 2.te Ausgabe" Java Basics - Anfänger-Themen 6
S Brauche hilfe in Java [Fehler in mein Code]? Java Basics - Anfänger-Themen 2
B UML Klassen Diagramm zu Java Code Programmieren und ausführen Java Basics - Anfänger-Themen 21
C Klassendiagramm aus Java-Code entwickeln Java Basics - Anfänger-Themen 3
B HTML Code / Seite auslesen und JAVA Objekte erstellen Java Basics - Anfänger-Themen 12
T Java Code erklären Java Basics - Anfänger-Themen 7
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
E ASCII-Code in Java ausgeben Java Basics - Anfänger-Themen 6
L Wie kann man fehlerfrei im Java Code auf die fxml Datei zugreifen? Java Basics - Anfänger-Themen 26
D Text als Code in java-forum.com formatieren. Wie ? Java Basics - Anfänger-Themen 3
P Java-Code funktioniert nicht Java Basics - Anfänger-Themen 13
snipesss Java-Code gedownloaded, funktioniert aber nicht? Java Basics - Anfänger-Themen 9
T Java Code erklären Java Basics - Anfänger-Themen 5
S Hinweis zu Fehler im Kalender-Code - Aufgabe 5.3 aus Grundkurs Programmieren in Java 7. Auflage Java Basics - Anfänger-Themen 4
A Zeichentool mit automatischer Java Code Erstellung Java Basics - Anfänger-Themen 1
Nicole1989 Was Bewirkt dieser Java Code? Java Basics - Anfänger-Themen 4
S Input/Output JS Source code in Java nutzen Java Basics - Anfänger-Themen 1
J Java was Started but Returned Exit Code=13 in Eclipse Java Basics - Anfänger-Themen 13
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
I Java Code so gut es geht Kommentieren Java Basics - Anfänger-Themen 4
K Suche Hilfe bei einfachem Java Code ( Debuggen ) Java Basics - Anfänger-Themen 1
T Java Code Hilfe - public void xxx() Java Basics - Anfänger-Themen 2
C CMD Befehl + Variable im Java-Code ausführen Java Basics - Anfänger-Themen 8
O Rätsel Java Code Java Basics - Anfänger-Themen 8
O Forum: Per Java-Code anmelden? Java Basics - Anfänger-Themen 2
E Mein erstes Java Projekt - Sauberer code? Java Basics - Anfänger-Themen 28
M Code recompilen mit älterem Java Java Basics - Anfänger-Themen 3
C Fehler in Java-Code finden Java Basics - Anfänger-Themen 17
K Java source code generieren Java Basics - Anfänger-Themen 5
H Java- Source Code Java Basics - Anfänger-Themen 8
F uralter Java Code Java Basics - Anfänger-Themen 3
L Library nötig, obwohl nicht in Java-Code verwendet Java Basics - Anfänger-Themen 4
N Mac - Java Code aus dem Forum kopieren Java Basics - Anfänger-Themen 12
J VB Code mit Java ausführen lassen? Java Basics - Anfänger-Themen 2
W Java-Code auf Konsole ausgeben - Wie? Java Basics - Anfänger-Themen 10
K Java Code rechnen Java Basics - Anfänger-Themen 7
S Hilfe - java.lang.RuntimeException: Uncompilable source code - incompatible types Java Basics - Anfänger-Themen 10
A Stück Java code im laufenden Betrieb einlesen und ausführen Java Basics - Anfänger-Themen 9
V Vom Aktivitätsdiagramm zum Java-Code Java Basics - Anfänger-Themen 12
saxman Java Source Code Download Java Basics - Anfänger-Themen 2
H Hilfe bei Java Code Java Basics - Anfänger-Themen 3
X Objektorientierte Java Programmierung - 3 Fragen zum Code Java Basics - Anfänger-Themen 5
astralarse JNI: Echt(!) nativen Code in Java ausführen? Java Basics - Anfänger-Themen 6
C Bäume in Java. Code funktioniert nicht Java Basics - Anfänger-Themen 12
zilti Externen Java-Code laden Java Basics - Anfänger-Themen 3
G Java Code -> RTF Java Basics - Anfänger-Themen 6
G source code von Java classes Java Basics - Anfänger-Themen 12
G Jar-File erzuegen, das Code a verschiedenen Java Versionen? Java Basics - Anfänger-Themen 4
D Probleme bei Code Portierung von C# nach Java [Gelöst] Java Basics - Anfänger-Themen 4
L UML in Java-Code Java Basics - Anfänger-Themen 5
J Java-Code in UML 2.0 Java Basics - Anfänger-Themen 38
D Java Code verbessern? Java Basics - Anfänger-Themen 8
B Java 1.0 Code in NetBeans IDE 5.0 ??? Java Basics - Anfänger-Themen 4
M Benutzung von fremden Java-Code mit Eclipse Java Basics - Anfänger-Themen 3
M Source Code von java.util.SubList Java Basics - Anfänger-Themen 2
G PHP Code -> Java Code Java Basics - Anfänger-Themen 6
M Aus WSDL Java-Code generieren. Java Basics - Anfänger-Themen 1
C Problem mit Code aus "Sprechen Sie Java" Java Basics - Anfänger-Themen 13
D HTML code in java generieren. Java Basics - Anfänger-Themen 6
S Java Compiler? oder doch der Code? Java Basics - Anfänger-Themen 6
F Fehler im Java Code, hilfe? Java Basics - Anfänger-Themen 9
A aus Java-Code eine jar-Datei ausführen Java Basics - Anfänger-Themen 8
B Code von Java-Funktionen einsehen Java Basics - Anfänger-Themen 2
M String als Java-Code ausführen Java Basics - Anfänger-Themen 4
B Wie funktioniert die implementierung von c code in Java? Java Basics - Anfänger-Themen 7
M Code aus IntelliJ in "Textform" für Word-Paper? Java Basics - Anfänger-Themen 10
T Kann mir jemand wörtlich erklären, was in dem Code genau passiert? Java Basics - Anfänger-Themen 1
Ü Dead Code im Programm? Java Basics - Anfänger-Themen 13
terashy VS Code Project run error Java Basics - Anfänger-Themen 10
JaZuDemNo Code Erklärung Java Basics - Anfänger-Themen 3
M Connect-4-Code analysieren Java Basics - Anfänger-Themen 2
N BMI Rechner Was haltet ihr von dem Code habt ihr Verbesserungsvorschläge weil design teschnisch ist das nicht das geilste würde das gerne überarbeiten Java Basics - Anfänger-Themen 12
W In alten Code zurück- und dort wieder zurechtfinden? Java Basics - Anfänger-Themen 17
T code so schreiben das er von sich selber anpasst (code soll die anzahl aller bustaben bestimmen) Java Basics - Anfänger-Themen 16
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
T Fehlercode bei code der das Alter ausrechnet Java Basics - Anfänger-Themen 2
T Text einlesen code was kommt dahin? Java Basics - Anfänger-Themen 1
jhfjeh Strukturgramm in code Java Basics - Anfänger-Themen 11
D Tipps zum Code Java Basics - Anfänger-Themen 24
ohneInformatik; For Schleife. Was macht dieser Code?? Java Basics - Anfänger-Themen 5
Say Fehlenden Code finden in einer while-Schleife? Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben