做了一个生成分享海报的功能,使用了ImageCombiner类.
项目地址:https://gitee.com/dromara/image-combiner
不得不说这个工具类很简单好用
引入依赖
maven:
<dependency>
<groupId>com.freewayso</groupId>
<artifactId>image-combiner</artifactId>
<version>2.3.5</version>
</dependency>
gradle:
compile('com.freewayso:image-combiner:2.3.5')
生成图片 自己写了一个工具类
public static ImageCombiner drawPlaybill(String backUrl, String imageUrl, String userName) throws Exception {
//合成器(指定背景图和输出格式,整个图片的宽高和相关计算依赖于背景图,所以背景图的大小是个基准)
ImageCombiner combiner = new ImageCombiner(backUrl, OutputFormat.JPG);
//加图片元素 居中 图片大小等
combiner.addImageElement(imageUrl, 400, 1680, 190, 0, ZoomMode.Width).setCenter(true);
//加文本元素居中 字体颜色 字体也可以自己设置
combiner.addTextElement(userName, 21, 460, 1626).setCenter(true).setColor(Color.black);
//执行图片合并
combiner.combine();
//可以获取流(并上传oss等)
//InputStream is = combiner.getCombinedImageStream();
//也可以保存到本地
//combiner.save("C:/result.jpg");
return combiner;
}