zoukankan      html  css  js  c++  java
  • java实现二维码

    二维码的概念:
    是某种特定的几何图形按一定规律在平面分布的黑白相间的图形记录数据符号信息的图形。
     
    二维码的发展历史:
    从一维码原生过来,一维码是有一组粗细不同,黑白相间的的条,及相应的字符组成的标记,即传统码。
    二维码是某种特定的几何图形按一定规律在平面分布的黑白相间的图形记录数据符号信息的图形
    二维码存储数据更广泛。
     
    二维码的优缺点:
    高密度编码,信息容量大;编码范围广;容错能力强;译码可靠性高;可引入加密措施;成本低,易制作,持久耐用。
    二维码成为手机病毒,钓鱼网站传播的新渠道。使信息泄露。优点大于缺点。
     
    流行的三大国际标准:
    PDF417:不支持中文
    DN:专利为公开。需付费使用。
    QR code : 专利公开,支持中文。具有识别快,占用空间小,由日本公司开发。
    QR code纠错能力:
    L:可纠错%7数据码字
    M:可纠错%15数据码字
    Q:可纠错%25数据码字
    H:可纠错%30数据码字
     
    通过zxing和QRCode第三方jar报包开发和jquery
     
    使用zxing开发代码:
    int width = 300;// 宽
    int height = 300;// 高
    String format = "png";// 图片格式
    String content = "https://www.imooc.com";// 内容
     
    // 定义二维码的参数
    HashMap map = new HashMap();
    map.put(EncodeHintType.CHARACTER_SET, "utf-8");// 字符集,编码格式
    map.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);// 纠错等级
     
    // 写入定义的参数
    BitMatrix bit = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, map);
     
    // 生成二维码本地路径
    Path file = new File("E:/code/img.png").toPath();
    MatrixToImageWriter.writeToPath(bit, format, file);
     
    使用zxing解析二维码数据:
    // 读取
    MultiFormatReader mt = new MultiFormatReader();
    // 本地路径
    File file = new File("E:/code/img.png");
     
    // 读取图片
    BufferedImage image = ImageIO.read(file);
    BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(image)));
    HashMap map = new HashMap();
    map.put(EncodeHintType.CHARACTER_SET, "utf-8");// 字符集,编码格式
    Result result = mt.decode(bitmap, map);
    System.out.println(result);
     
  • 相关阅读:
    如何将你的AIR程序正常显示在iPhone5上?
    升级Flash Builder 4.7中的AIR SDK
    Flex AIR加载时全屏显示
    在Mac系统的安装Flash Builder 4.7开发工具
    What's XPath?
    XPath节点
    What's XML?
    65个源码下载网站
    [导入]轻松掌握Ajax.net系列教程
    MemberShip 示例
  • 原文地址:https://www.cnblogs.com/haha66/p/9361013.html
Copyright © 2011-2022 走看看