二维码的服务端生成

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ostrichmyself/article/details/43112389

原理不多介绍,  后面会提供相关源码。 大致是按照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);
		}
	}





源码地址:


请移步下载

展开阅读全文

没有更多推荐了,返回首页