Maison  >  Article  >  Java  >  Utilisez Java pour générer le partage de code QR code

Utilisez Java pour générer le partage de code QR code

巴扎黑
巴扎黑original
2017-07-18 15:11:101648parcourir

Caractéristiques du code QR :

1. Codage haute densité, grande capacité d'informations

Peut accueillir jusqu'à 1850 lettres majuscules ou 2710 chiffres ou 1108 octets, ou plus de 500 caractères chinois, la capacité d'information est environ des dizaines de fois supérieure à celle des codes-barres ordinaires.

2. Large plage de codage

Ce code-barres peut coder des images, des sons, du texte, des signatures, des empreintes digitales et d'autres informations numérisées et l'exprimer avec des codes-barres, il peut représenter du texte ; dans plusieurs langues ; peut représenter des données d’image.

3. Forte tolérance aux pannes et fonction de correction des erreurs

Cela permet au code-barres 2D d'être lu correctement même s'il est partiellement endommagé en raison de perforations, de taches, etc. , les informations peuvent toujours être récupérées si 50 % de la zone endommagée est endommagée.

4. Haute fiabilité de décodage

Il est bien inférieur au taux d'erreur de décodage de codes-barres ordinaire de 2 parties par million, et le taux d'erreur binaire ne dépasse pas 10 millions. partie.

5. Des mesures de cryptage peuvent être introduites

Bonnes propriétés de confidentialité et anti-contrefaçon.

6. Faible coût, facile à fabriquer, durable

En raison des caractéristiques ci-dessus, les codes QR deviennent de plus en plus populaires et leurs applications deviennent de plus en plus nombreuses. répandu (Pour des informations détaillées, veuillez consulter l'Encyclopédie Baidu (l'introduction n'est pas l'objet de cet article), donc savoir comment développer des codes QR est une très bonne réserve de connaissances, donc cet article expliquera comment générer et analyser des codes QR.

Cet article parle de la génération et de l'analyse des codes QR via zxing Cela semble très simple Il suffit de saisir le code directement

import java.io.File;import java.io.IOException;import java.nio.file.Path;import java.util.HashMap;import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHintType;import com.google.zxing.MultiFormatWriter;import com.google.zxing.WriterException;import com.google.zxing.client.j2se.MatrixToImageWriter;import com.google.zxing.common.BitMatrix;import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;public class TestZXing {public static void main(String[] args) {int width=300;int height=300;
        String format="png";
        String contents="www.baidu.com";
        HashMap map=new HashMap();
        map.put(EncodeHintType.CHARACTER_SET, "utf-8");
        map.put(EncodeHintType.ERROR_CORRECTION,ErrorCorrectionLevel.M);
        map.put(EncodeHintType.MARGIN, 0);try {
            BitMatrix bm = new MultiFormatWriter().encode(contents, BarcodeFormat.QR_CODE, width, height);
            Path file=new File("D:/img.png").toPath();
            MatrixToImageWriter.writeToPath(bm, format, file);
        } catch (WriterException e) {
            e.printStackTrace();
        } catch (IOException e) {            e.printStackTrace();
        }
    }
}

Grâce au code ci-dessus, il générera un code QR avec le lien de contenu vers www.baidu.com

Le code pour analyser ce code QR est le suivant

import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.util.HashMap;import javax.imageio.ImageIO;import com.google.zxing.BinaryBitmap;import com.google.zxing.EncodeHintType;import com.google.zxing.MultiFormatReader;import com.google.zxing.NotFoundException;import com.google.zxing.Result;import com.google.zxing.client.j2se.BufferedImageLuminanceSource;import com.google.zxing.common.HybridBinarizer;public class TestRead {public static void main(String[] args) {try {
            MultiFormatReader reader=new MultiFormatReader();//需要详细了解MultiFormatReader的小伙伴可以点我一下官方去看文档File f=new File("D:/img.png");
            BufferedImage image=ImageIO.read(f);
            BinaryBitmap bb=new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(image)));
            HashMap map =new HashMap();
            map.put(EncodeHintType.CHARACTER_SET, "utf-8");
            Result result = reader.decode(bb,map);
            System.out.println("解析结果:"+result.toString());
            System.out.println("二维码格式类型:"+result.getBarcodeFormat());
            System.out.println("二维码文本内容:"+result.getText());
        } catch (NotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

Les résultats d'exécution sont les suivants

解析结果:www.baidu.com
二维码格式类型:QR_CODE
二维码文本内容:www.baidu.com

Vous pouvez télécharger le package jar spécifique par vous-même

Lien : Mot de passe : kcjx

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn