- 开源项目:https://gitee.com/dromara/image-combiner.git
- 作用:完成图片与图片、图片文字等元素的合成
-
1.需求介绍
在雨润做养殖Mes期间,有个功能是生成猪舍二维码,并在二维码底部添加一行猪舍名称文字。效果如下图:
当时是翻阅了众多博客。终于找到了一个符合要求的代码。CV大法后完成。2.使用开源项目后的代码
@Test
public void testDemo() throws Exception {
//二维码url, 500 x 508
String qrCodeUrl = "https://img0.baidu.com/it/u=3101623223,11353193&fm=26&fmt=auto";
//底部文字
String font ="保育猪舍A101134";
//设置背景图为一个 600 x 600 的
ImageCombiner imageCombiner = new ImageCombiner(600, 700, Color.WHITE, OutputFormat.JPG);
//组合这个二维码图片,二维码的左上角放在背景图的 50 x 0 的位置
imageCombiner.addImageElement(qrCodeUrl,50,0);
//设置文字, 文字大小60 x忽略(因为setCenter默认居中), 文字的底部处于 580的高度处
imageCombiner.addTextElement(font,60,0,580).setCenter(true)
//设置最大行宽500, 最大行数1, 最大行高60
.setAutoBreakLine(500,2,60);
imageCombiner.combine();
//也可以保存到本地
imageCombiner.save("image.jpg");
}
文字可以容纳情况下,正常
- 文字多时需要考虑一下写法