Java,jQuery玩转二维码

zxing就是这么一只Google开源的java二维码生成工具包,它能很好的支持utf-8编码。 这里基于maven构建,使用它首先得引入其jar包。 [code lang="xml"] <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.2.0</version> </dependency> [/code] zxing实现生成二维码的功能简单的难以置信,代码一贴,全世界遍知道了。 [code lang="java"] import java.io.File; 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.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; public class CreateCode { @SuppressWarnings({ "unchecked", "rawtypes" }) public static void main(String[] args) { //定义二维码图片长宽 int width=400; int height=400; //定义图片格式,jpg,jepg.... String format="png"; //二维码主题内容 String content="黄昌启是大帅哥!"; //定义二维码的参数 HashMap hints = new HashMap(); //编码格式 hints.put(EncodeHintType.CHARACTER_SET, "utf-8"); //M指纠错等级,它允许二维码有点点损坏依然能读取出 hints.put(EncodeHintType.ERROR_CORRECTION,ErrorCorrectionLevel.M); //设置二维码图片的边距,即空白部分 hints.put(EncodeHintType.MARGIN,2); try{ //参数顺序分别为:编码内容,编码类型,生成图片宽度,生成图片高度, BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE,width,height,hints); //存放二维码图片的路径 Path file=new File("D:/code.png").toPath(); //根据定义格式生成图片二维码 MatrixToImageWriter.writeToPath(bitMatrix, format, file); }catch(Exception e){ e.printStackTrace(); } } } [/code] 生成二维码的功能简单,那解析二维码的功能同样也不复杂。 [code lang="java"] 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 Readcode { public static void main(String[] args) throws IOException, NotFoundException { MultiFormatReader formatReader = new MultiFormatReader(); File file=new File("D:/code.png"); BufferedImage image = ImageIO.read(file); BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(image))); HashMap hints = new HashMap(); hints.put(EncodeHintType.CHARACTER_SET, "utf-8"); Result result=formatReader.decode(binaryBitmap,hints); System.out.println("解析结果:"+result.toString()); System.out.println("二维码的格式:"+result.getBarcodeFormat()); } } [/code] java二维码走了一波,下面的jQuery的二维码实现方式就更让人瞠目结了。因为,真的只有两三句而已。。。 其中,需要注意的是jquery.qrcode是基于jQuery的,所以得引入jQuery,意思就是jQuery得一只二维码插件。 它的缺点是暂时还不支持实现中文的二维码。 [code lang="html"] <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jQuery二维码实现</title> <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="js/jquery.qrcode.min.js"></script> </head> <body> <div id="qrcode"></div> <script type="text/javascript"> jQuery('#qrcode').qrcode("I am a shuaiqi boy!"); </script> </body> </html> [/code]

转载于:https://my.oschina.net/u/3090863/blog/796310

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值