210123-Quick-Media 前置渲染模板支持

文章目录
  1. I. 使用说明
  • II. 其他
    1. 1. 一灰灰Blog: https://liuyueyi.github.io/hexblog
    2. 2. 声明
    3. 3. 扫描关注
  • Java端”最强”二维码渲染工具又双叒叕升级了,新增前置模板渲染,简单几行代码即可实现酷炫的二维码生成

    项目源码:https://github.com/liuyueyi/quick-media

    首先理解一下前置渲染模板和背景图的实现区别,对于背景图而言,可以简单的理解为是将二维码放在背景图上一层,因此我们可以实现给二维码添加底色,背景样式等;而前置渲染模板则是将二维码放在下层,可以在上面再套一层图片

    因此当我希望给二维码添加一些装饰时,使用前置渲染模板就是更好的选择了,如下图

    I. 使用说明

    更多详细用法推荐查看: Quick-Media二维码使用手册: https://liuyueyi.github.io/quick-media

    添加pom依赖

    1
    2
    3
    4
    5
    6
    <!-- https://mvnrepository.com/artifact/com.github.liuyueyi.media/qrcode-plugin -->
    <dependency>
    <groupId>com.github.liuyueyi.media</groupId>
    <artifactId>qrcode-plugin</artifactId>
    <version>2.5.3</version>
    </dependency>

    第二步准备素材,我们现在以https://cdn.pixabay.com/photo/2017/06/14/12/58/heart-2402086_960_720.png 为前置图,生成一个爱心的二维码

    使用姿势如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    String msg = "http://weixin.qq.com/r/FS9waAPEg178rUcL93oH";
    int size = 500;
    QrCodeGenWrapper.of(msg)
    .setW(size)
    .setH(size)
    .setDrawPreColor(Color.RED)
    .setFtImg("https://cdn.pixabay.com/photo/2017/06/14/12/58/heart-2402086_960_720.png")
    .setFtStartX(110)
    .setFtStartY(120)
    .asFile("/tmp/imgQr3.png");

    生成二维码效果如下

    除了上面的case之外,我们还可以针对二维码本身进行一些定制化,如使用我自己的素材来替换二维码的小方块

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    String msg = "http://weixin.qq.com/r/FS9waAPEg178rUcL93oH";
    int size = 500;
    boolean ans = QrCodeGenWrapper.of(msg)
    .setW(size)
    .setH(size)
    .setDrawBgColor(ColorUtil.OPACITY)
    .setDetectImg("love/01.png")
    .setDrawStyle(QrCodeOptions.DrawStyle.IMAGE)
    .addImg(1, 1, "love/003_01.png")
    .addImg(4, 1, "love/004.png")
    .addImg(1, 4, "love/004_02.png")
    .setFtImg("https://cdn.pixabay.com/photo/2017/06/14/12/58/heart-2402086_960_720.png")
    .setFtStartX(110)
    .setFtStartY(120)
    .asFile("/tmp/imgQr2.png");

    难道号称Java界最强的二维码渲染工具,就仅止与此么?

    当然不,接下来让我们的二维码动起来,选择一个gif的前置渲染图,借助搜索工具,从 http://daimadaquan.blog.sohu.com/134743858.html 选择一张动图测试一下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    @Test
    public void testPreGif() {
    String pre = "http://1832.img.pp.sohu.com.cn/images/blog/2009/10/23/20/24/12530644e76g215.jpg";
    try {
    // 二维码
    int qrSize = 240;
    String msg = "http://weixin.qq.com/r/FS9waAPEg178rUcL93oH";
    QrCodeGenWrapper.of(msg)
    .setW(qrSize)
    .setH(qrSize)
    .setDrawPreColor(0xff73a7f5)
    .setDrawEnableScale(true)
    .setFtImg(pre)
    .setFtStartX(95)
    .setFtStartY(0)
    .setFtFillColor(Color.WHITE)
    .asFile("/tmp/ft_0.gif");

    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    使用气泡生成的动图

    使用脚丫子生成的动图

    再比如加一个动态的logo

    当然由于没有设计大佬支持,以上的图从网上找的资源合成,所以美观上很有不足,以上主要是为了演示Quick-Media能支撑的力度

    欢迎设计大佬友情提供更多模板

    欢迎有兴趣的开发大佬使用尝鲜,源码地址,觉得不错的请☆

    II. 其他

    1. 一灰灰Bloghttps://liuyueyi.github.io/hexblog

    一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

    2. 声明

    尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

    3. 扫描关注

    一灰灰blog

    QrCode

    评论

    Your browser is out-of-date!

    Update your browser to view this website correctly. Update my browser now

    ×