很久很久以前,就觉得微博的长图文实现得非常有意思,将排版直接以最终的图片输出,收藏查看分享都很方便,现在则自己动手实现一个简单版本的
目标
首先定义下我们预期达到的目标:根据文字 + 图片生成长图文
目标拆解
- 支持大段文字生成图片
- 支持插入图片
- 支持上下左右边距设置
- 支持字体选择
- 支持字体颜色
- 支持左对齐,居中,右对齐
预期结果
我们将通过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; } } }
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 如何在 Java 中实现对正方形的缩放操作?(如何在Java中对正方形进行缩放操作)
- 如何正确使用 Java 的 join 方法?(java join方法怎么使用)
- Java 中 DecimalFormat 在哪些场景下使用较为合适?(Java DecimalFormat在哪里使用合适)
- 如何确保Redis客户端的安全性:实用技巧与最佳实践
- 在 JavaScript 中如何使用 parentNode?(javascript中的parentNode怎么用)
- 如何高效编码 Java Supplier 接口?(java supplier接口的高效编码技巧)
- 如何进行 Java NoSQL 查询优化?(java nosql查询优化怎样进行)
- Java 中 `equals()` 的核心究竟是什么?(java eques的核心是什么)
- Java代理模式的优缺点分别有哪些?(Java代理模式有哪些优缺点)
- 2024下半年北京软考成绩复查时间及流程
猜你喜欢
AI推送时光机Java如何实现长图文生成的示例代码
后端开发2023-05-31
java 生成文字图片的示例代码
后端开发2023-05-31
node文字生成图片的示例代码
后端开发2022-06-04
C#实现封面图片生成器的示例代码
后端开发2024-04-02
C#实现文字视频生成器的示例代码
后端开发2024-04-02
PHP实现生成二维码的示例代码
后端开发2024-04-02
C++利用GPAC实现生成MP4文件的示例代码
后端开发2023-02-06
Java实现把文件压缩成zip文件的示例代码
后端开发2024-04-02
tk.mybatis实现uuid主键生成的示例代码
后端开发2024-04-02
Python实现动态二维码生成的示例代码
后端开发2024-04-02
Java实现生成Excel树形表头完整代码示例
后端开发2023-05-30
Java实现一个简单的长轮询的示例代码
后端开发2024-04-02
JAVA实现PDF转HTML文档的示例代码
后端开发2024-04-02
Python实现随机生成算术题的示例代码
后端开发2023-05-14
Java实现合并word文档的示例代码
后端开发2022-11-13
Java实现导出Word文档的示例代码
后端开发2023-02-09
Java实现图书管理系统的示例代码
后端开发2024-04-02
基于JS实现二维码名片生成的示例代码
后端开发2024-04-02
咦!没有更多了?去看看其它编程学习网 内容吧