很久很久以前,就觉得微博的长图文实现得非常有意思,将排版直接以最终的图片输出,收藏查看分享都很方便,现在则自己动手实现一个简单版本的目标首先定义下我们预期达到的目标:根据文字 + 图片生成长图文目标拆解 支持大段文字生成图片 支持插入图
很久很久以前,就觉得微博的长图文实现得非常有意思,将排版直接以最终的图片输出,收藏查看分享都很方便,现在则自己动手实现一个简单版本的
目标
首先定义下我们预期达到的目标:根据文字 + 图片生成长图文
目标拆解
预期结果
我们将通过spring-boot搭建一个生成长图文的Http接口,通过传入参数来指定各种配置信息,下面是一个最终调用的示意图
设计&实现
长图文的生成,采用awt进行文字绘制和图片绘制
1. 参数选项 ImgCreateOptions
根据我们的预期目标,设定配置参数,基本上会包含以下参数
@Getter @Setter @ToString public class ImGCreateOptions { private BufferedImage bgImg; private Integer imgW; private Font font = new Font("宋体", Font.PLaiN, 18); private Color fontColor = Color.BLACK; private int leftPadding; private int topPadding; private int bottomPadding; private int linePadding; private AlignStyle alignStyle; public enum AlignStyle { LEFT, CENTER, RIGHT; private static Map<String, AlignStyle> map = new HashMap<>(); static { for(AlignStyle style: AlignStyle.values()) { map.put(style.name(), style); } } public static AlignStyle getStyle(String name) { name = name.toUpperCase(); if (map.containsKey(name)) { return map.get(name); } return LEFT; } } }
--结束END--
本文标题: Java如何实现长图文生成的示例代码
本文链接: https://lsjlt.com/news/224053.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0