# visual-qr-code **Repository Path**: geekcheng/visual-qr-code ## Basic Information - **Project Name**: visual-qr-code - **Description**: visual-qr-code是创建可以设置背景图片或者logo的二维码,与传统的二维码不同的是,图片并不是只是在二维码中心,背景图片和logo都是半透明的,让二维码更好看 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/boat824109722/visual-qr-code - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 161 - **Created**: 2018-01-04 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # visual-qr-code ## 该应用的功能是创建可以设置背景图片或者logo的二维码 ## 一、使用示例(详细情况源码中的测试用例) #### 示例1: ##### 测试代码 ``` @Test public void testPOSITIONRECTANGLE() { String url = "http://blog.csdn.net/weixin_41279060/article/details/78961532"; try { VisualQRCode.createQRCode(url, "./img/lg-logo.jpg", outPutPath + "QRCodePOSITIONRECTANGLE.png", 'H', new Color(2, 85, 43), null, null, null, true, VisualQRCode.POSITION_DETECTION_SHAPE_MODEL_RECTANGLE, VisualQRCode.FILL_SHAPE_MODEL_RECTANGLE); } catch (IOException e) { e.printStackTrace(); } } ``` ##### 生成的二维码效果(方形码眼,方形小点): ![输入图片说明](https://gitee.com/uploads/images/2018/0103/152933_ac0f74da_1705914.png "POSITIONRECTANGLE.png") #### 示例2: ##### 测试代码 ``` @Test public void testFILLCIRCLE() { String url = "http://blog.csdn.net/weixin_41279060/article/details/78961532"; try { VisualQRCode.createQRCode(url, "./img/lg-logo.jpg", outPutPath + "FILLCIRCLE.png", 'H', new Color(2, 85, 43), null, null, null, true, VisualQRCode.POSITION_DETECTION_SHAPE_MODEL_ROUND_RECTANGLE, VisualQRCode.FILL_SHAPE_MODEL_CIRCLE); } catch (IOException e) { e.printStackTrace(); } } ``` ##### 生成的二维码效果(方圆形码眼,圆形小点): ![输入图片说明](https://gitee.com/uploads/images/2018/0103/153009_9a8e668b_1705914.png "FILLCIRCLE.png") #### 示例3: ##### 测试代码 ``` @Test public void testLARGEIMG(){ String url = "http://blog.csdn.net/weixin_41279060/article/details/78961532"; try { VisualQRCode.createQRCode(url, "./img/xmyrz.jpg", outPutPath+"LARGEIMG.png", 'H', new Color(170, 24, 67), 800, 420, 200, false, VisualQRCode.POSITION_DETECTION_SHAPE_MODEL_ROUND_RECTANGLE, VisualQRCode.FILL_SHAPE_MODEL_RECTANGLE); } catch (IOException e) { e.printStackTrace(); } } ``` ##### 生成的二维码效果(方圆形码眼,方形小点,设置了初始位置,没有把二维码设置成图片大小): ![输入图片说明](https://gitee.com/uploads/images/2018/0103/153027_3f09591e_1705914.png "LARGEIMG.png") ## 二、API使用介绍 #### 创建方法: ``` public static void createQRCode(String content, String bgPath, String outPath, char Level, Color DF, Integer startX, Integer startY, Integer QRCodeWidth, Boolean isDeformation, Integer fillPositionDetectionShapeModel, Integer fillShapeModel) throws IOException ``` #### 参数说明: 1、content 二维码内容、网址,必需 2、bgPath 背景图片路径,必需outPath 二维码输出路径,必需 3、Level 二维码容错等级,必需   可选:"L"、"M"、"Q"、"H"     L水平 7%的字码可被修正     M水平 15%的字码可被修正     Q水平 25%的字码可被修正     H水平 30%的字码可被修正 4、DF 二维码颜色,必需 startX 二维码X轴起点,非必须,默认为图片的左上角 startY 二维码Y轴起点,非必须,默认为图片的左上角 QRCodeWidth 二维码的宽度,非必须,默认为背景图最小边   二维码的起始X/Y加上QRCodeWidth<=图片的宽/高 5、isDeformation 是否把背景图变成方形,非必须,默认为false不改变图片形状 6、fillPositionDetectionShapeModel 二维码四个大码眼的形状,目前只支持方形和圆方形   可选:     POSITION_DETECTION_SHAPE_MODEL_RECTANGLE     POSITION_DETECTION_SHAPE_MODEL_ROUND_RECTANGLE 7、fillShapeModel 二维码点的形状,目前只支持方形和圆形   可选:     FILL_SHAPE_MODEL_RECTANGLE     FILL_SHAPE_MODEL_CIRCLE ## 三、使用说明 下载发行版本的jar包,引用,然后使用VisualQRCode.createQRCode创建二维码即可。 ## 感谢: 该二维码应用使用了http://www.swetake.com/qrcode 网站上提供的二维码应用程序 作者Boat