• 开源项目:https://gitee.com/dromara/image-combiner.git
  • 作用:完成图片与图片、图片文字等元素的合成
  • 实战:二维码生成后底部添加文字

    1.需求介绍

    在雨润做养殖Mes期间,有个功能是生成猪舍二维码,并在二维码底部添加一行猪舍名称文字。效果如下图:
    image.png
    当时是翻阅了众多博客。终于找到了一个符合要求的代码。CV大法后完成。

    2.使用开源项目后的代码

    1. @Test
    2. public void testDemo() throws Exception {
    3. //二维码url, 500 x 508
    4. String qrCodeUrl = "https://img0.baidu.com/it/u=3101623223,11353193&fm=26&fmt=auto";
    5. //底部文字
    6. String font ="保育猪舍A101134";
    7. //设置背景图为一个 600 x 600 的
    8. ImageCombiner imageCombiner = new ImageCombiner(600, 700, Color.WHITE, OutputFormat.JPG);
    9. //组合这个二维码图片,二维码的左上角放在背景图的 50 x 0 的位置
    10. imageCombiner.addImageElement(qrCodeUrl,50,0);
    11. //设置文字, 文字大小60 x忽略(因为setCenter默认居中), 文字的底部处于 580的高度处
    12. imageCombiner.addTextElement(font,60,0,580).setCenter(true)
    13. //设置最大行宽500, 最大行数1, 最大行高60
    14. .setAutoBreakLine(500,2,60);
    15. imageCombiner.combine();
    16. //也可以保存到本地
    17. imageCombiner.save("image.jpg");
    18. }
  • 文字可以容纳情况下,正常

image.png

  • 文字多时需要考虑一下写法

image.png