visual-qr-code 生成图片二维码工具

程序名称:visual-qr-code

授权协议: Apache

操作系统: 跨平台

开发语言: Java

visual-qr-code 介绍

visual-qr-code
可以创建出精美的二维码,与传统的二维码不同的是,设置的背景图片或logo并不是只是在二维码中心,背景图片和logo都是半透明的,让二维码更好看

一、使用示例(详细情况源码中的测试用例)

测试代码

@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();
    }
}

生成的二维码效果(方形码眼,方形小点):

测试代码

@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();
    }
}

生成的二维码效果(方圆形码眼,圆形小点):

测试代码

@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();
    }
}

生成的二维码效果(方圆形码眼,方形小点,设置了初始位置,没有把二维码设置成图片大小):

二、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 背景图片路径,必需

3、outPath 二维码输出路径,必需
4、Level 二维码容错等级,必需可选:”L”、”M”、”Q”、”H”

  • L水平 7%的字码可被修正

  • M水平 15%的字码可被修正

  • Q水平 25%的字码可被修正

  • H水平 30%的字码可被修正

5、DF 二维码颜色,必需

  • startX 二维码X轴起点,非必须,默认为图片的左上角

  • startY 二维码Y轴起点,非必须,默认为图片的左上角

  • QRCodeWidth 二维码的宽度,非必须,默认为背景图最小边

  • 二维码的起始X/Y加上QRCodeWidth<=图片的宽/高

6、isDeformation 是否把背景图变成方形,非必须,默认为false不改变图片形状
7、fillPositionDetectionShapeModel 二维码四个大码眼的形状,目前只支持方形和圆方形可选:

  • POSITION_DETECTION_SHAPE_MODEL_RECTANGLE

  • POSITION_DETECTION_SHAPE_MODEL_ROUND_RECTANGLE

8、fillShapeModel 二维码点的形状,目前只支持方形和圆形可选:

  • FILL_SHAPE_MODEL_RECTANGLE

  • FILL_SHAPE_MODEL_CIRCLE

三、使用说明

下载发行版本的 jar 包,引用,然后使用VisualQRCode.createQRCode创建二维码即可。

该二维码应用使用了http://www.swetake.com/qrcode 网站上提供的二维码应用程序

visual-qr-code 官网

https://gitee.com/boat824109722/visual-qr-code

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


BlazeDS 是一个基于服务器的Java 远程控制(remoting)和Web消息传递(messaging)技术, 它能够使得后端的Java应用程序和运行在浏览器上的Adobe
OVal 是一个可扩展的Java对象数据验证框架,验证的规则可以通过配置文件、Annotation、POJOs 进行设定。可以使用纯 Java
Volta 是一套开发工具,专为开发分布式、实时系统应用。它包括级联,控制流分析工具,
OpenDDS 是一个开源的 C++ 实现的 对象管理组织 OMG 的 数据分布式服务 (DDS) 。OpenDDS利用自适应通信环境(ACE)提供一个跨平台的环境。
JADE (Java Agent DEvelopment Framework) 是一个完全用Java语言实现的软件框架。它通过一个兼容 FIPA
FastMM ,在D2006和2007中已代替了原来的内存管理器。
WebRTC 是一项在浏览器内部进行实时视频和音频通信的技术,是谷歌于2010年以6820万美元收购VoIP软件开发商 Global IT
gwtwiki - The Java Wikipedia API (Bliki engine),是一个 Wikipedia/Mediawiki 语法解析器,可以把 wiki 的文本转换成 HTML。它支持 wiki 标签,例如 bold, italic, headers, nowiki,
Esper 是一个复杂事件处理组件(CEP - Complex Event Processing),它有 Java 版本和 .NET 版本(NEsper)。
LuaTinker 的作者是Kwon-il Lee韩国人写的,最新的版本是0.2.C,这个C++ wrapper For Lua能够方便和
各种语言环境下gitignore文件的一个集合。
简介 ContentExtractor 是一个开源的网页正文抽取工具,用JAVA实现,具有非常高的抽取精度。
SwiftRandom 是一组函数集合,可以从不同的分布生成伪随机变量。 使用示例: //Single pseudorandom normal variable
java-linq-examples 是 101 个 LINQ 示例的 Java 移植版本。Android 兼容 Java 1.7. 此外还有以下语言移植版本:
mal,Make a Lisp,顾名思义,用图灵完备的编程语言写 Lisp 交互器,目前已经有35种不同语言的实现:
一个 Go 语言实现的中国行政区划查询工具。 介绍 最新中国行政区划,数据来源:http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201608/t20160809_1386477.html
Teaf 简介 Tencent Easy ACE Framework,基于 ACE 的高性能轻量级服务框架,单进程多线程模型,支持 select/epoll 等多种网络
介绍 让 Guzzle 支持 Swoole 协程,这个项目目的就是这么简单明了! Guzzle-Swoole 是 Guzzle 的处理器(Handler),并没有对 Guzzle 本身代码进行修改,理论上可以兼容后续版本。
goproxy-shell goproxy服务端部署脚本 使用方法 wget --no-check-certificate https://github.com/sjz123321/goproxy-
1. pyMd2Doc介紹(pip版本) 利用python将markdown转换成带可收缩、可跳转到文本内容的目录文档。