二维码的服务端生成

原理不多介绍,  后面会提供相关源码。 大致是按照google提供的Zxing包, 向服务端发出请求,直接输出为图片。


先截图看下使用的方式方法:





源码如下:

	/**
	 * mgr_qr?method=qr_img&width=300&size=300&content=111
	 * @param request
	 * @param response
	 */
	public void qr_img(HttpServletRequest request,HttpServletResponse response){
		int size = 110;
		String str = request.getParameter(Const4DataBase.PARA_content);
		ReturnData data = new ReturnData();
		if (str == null || str.trim().length() == 0)
		{
			data.setStatus(001);
			data.setMsg("please input qr content!");
			printRes(response,data);
			logger.info(data.getMsg());
			return;
		}
		String size_str = request.getParameter(Const4DataBase.PARA_size);
		try{
			size = Integer.valueOf(size_str);
		}
		catch(Exception e)
		{
			//解析错误,
		}
		int height = size;
		int width = size;
		try {
			BitMatrix byteMatrix;
			byteMatrix = new MultiFormatWriter().encode(str, BarcodeFormat.QR_CODE, width, height);
			BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
			for(int x=0;x<width;x++){
				for(int y=0;y<height;y++){
					image.setRGB(x, y, byteMatrix.get(x, y)?BLACK:WHITE);
				}
			}
			ImageIO.write(image, "png", response.getOutputStream());
		} catch (Exception e) {
			logger.error("error"+e);
		}
	}





源码地址:


请移步下载

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值