如果你需要将多张图片素材按坐标位置合成一幅图,该工具包可以帮你简化这一操作。
创建一个 ImageMaterial对象,按照参数释义赋值。
然后直接调用:File ImageCompositeKit.composite(ImageMaterial imageMaterial) 方法即获得一个File。
image-composite-frame 工具首先根据传入的文字素材参数生成文字水印图片,再将图片合成到模板图片上。
文字样式目前只支持普通、加粗、斜体;
字体类型的参数是依赖执行程序的操作系统已安装的字体的,使用前请查询节点的操作系统是否安装了你传入的字体类型;
Ps:通过下方代码可获得操作系统已安装的字体信息
GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment();
String[] fontNames = e.getAvailableFontFamilyNames();
测试机硬件配置:Mac M1 Pro 2020款
测试程序会读取 至少20MB+77MB = 97MB大小的图片
从上图中可以看到测试时的堆内存使用情况,读取图片时会占用比较大的内存,频繁使用工具进行大图片合成会有GC Pause时间过长的风险。
可以看到文字素材的增多几乎不会对合成耗时造成影响
可估算出每增加一个文字素材会占用约1MB的堆内存。