本期推荐的是一个用于Java服务端图片合成的工具——ImageCombiner。
ImageCombiner是一个专门用于Java服务端图片合成的工具,没有很复杂的功能,简单实用,从实际业务场景出发,提供简单的接口,几行代码即可实现图片拼合,项目不依赖任何框架,完全基于JDK本身编写,足够覆盖图片合成的日常需求。
ImageCombiner的功能:
素材上支持图片、文本、矩形三种,支持定位、缩放、旋转、圆角、透明度、颜色、字体、字号、删除线、居中绘制、文本自动换行等特性,也可用于合成水印。
安装使用:
- 添加依赖
<dependency><groupId>com.freeway</groupId><artifactId>image-combiner</artifactId><version>1.2.0</version></dependency>
- 使用示例
public void dynamicWidthDemoTest() throws Exception {String bg = "http://xxx.com/image/bg.jpg";ImageCombiner combiner = new ImageCombiner(bg, OutputFormat.JPG);String str1 = "您出征";String str2 = "某城市"; //外部传参,内容不定,宽度也不定String str3 = ",共在前线战斗了";String str4 = "365"; //外部传参,内容不定,宽度也不定String str5 = "天!";int fontSize = 60;int xxxFontSize = 80;int offsetX = 20; //通过计算前一个元素的实际宽度,并累加这个偏移量,得到后一个元素正确的x坐标值int y = 300;//第一段TextElement element1 = combiner.addTextElement(str1, fontSize, offsetX, y);offsetX += combiner.computeTextWidth(element1); //计算宽度,并累加偏移量//第二段(内容不定,宽度也不定)TextElement element2 = combiner.addTextElement(str2, xxxFontSize, offsetX, y).setColor(Color.red);offsetX += combiner.computeTextWidth(element2);//第三段TextElement element3 = combiner.addTextElement(str3, fontSize, offsetX, y);offsetX += combiner.computeTextWidth(element3);//第四段(内容不定,宽度也不定)TextElement element4 = combiner.addTextElement(str4, xxxFontSize, offsetX, y).setColor(Color.red);offsetX += combiner.computeTextWidth(element4);//第五段combiner.addTextElement(str5, fontSize, offsetX, y);combiner.combine();combiner.save("d://demo.jpg");}
运行效果
其他演示:
更多内容大家可自行前往阅读,私信获取项目地址。