xxy-copybook
介绍
在孩子刚上小学的时分就想给孩子弄个字帖生成器,让孩子多练练字,由于他爸爸写字不好看,就想让孩子写字能漂亮点,种种原因啊,孩子都4年级了才给字帖生成器写完,架构图怎么画期望还来得及。
这个是字帖生成的核心类库架构师和程序员的区别,现在开源出APP来,期望也能帮我一些想我一样的朋友。
我的B站地址:space.bilibili.分页符com/1159595523
地址:juejiappetiten.cn/user/350569…
主要功能
- 支撑界说字帖表格款式。田字格、横线、边框多种款式可自界说调配运用。
- 支撑扩展自界说字帖单元格款式。
- 支撑拼音字帖。
- 自界说运用的字体。
- 文字过软件工程多时,可自动分页生成开源多页字帖。
- 多种运用款式,能够一字一行,也能够一行多字。
软件架构
-
字帖单元格运用装饰器形式设计,要完成自己的线段款式需求完成AbstractCellDecorator,要完成文字款式需求完成AbstractCellappleTextDecorator。 在cell.line中是现已完成的线段装饰,cell.text是现已完成的文字appear装饰。
-
字帖的生成运用制作者形式,CopybookDir架构师证书ector是制作者的架构是什么意思导向器,要完成自己的模板需开源代码网站github求完成AbstractCopybookBuilder。
-
核心款分页符式的装饰器UML导图
-
所有类的UML导图
运用说软件库明
我们能够软件测试将自己喜爱的字体放到resources/fonts文件夹内,由于版权问题,我这儿不能供给字体了,我们自己搜集吧。
期望赶快运用起来的小伙伴能够看一下这两个类架构图:
- CopybookTemplate用来设置字帖款式,包括字帖的背景色,默许的边线等。
- CopybookData用来设置字帖数据,这儿放置字帖上要显现的文字,拼音,字帖头、尾的内容。 一个基本的字帖生成代码:
//设置显现的文字
String text = "屈渊孟甫韩愈禹锡仲龚";
//字体姓名
String fontName = "嗡阿吽-田英章钢笔楷书简";
CopybookTemplate.CopybookTemplateBuilder copybookTemplateBuilder = CopybookTemplate.builder()
.emptyCellNum(2)
.textLineStroke(StrokeForCell.LINE)
//单元格运用一个边框+田字格款式。
.textCellLineStyle(CollUtil.toList(LineStyle.BORDER, LineStyle.TIAN));
//给边框格一个加粗的边线
copybookTemplateBuilder.textLineStrokeMap(MapUtil
.builder(LineStyle.BORDER.getValue(), StrokeForCell.LINE_BOLD)
.build());
Font font = new Font(fontName, Font.PLAIN, 140);
copybookTemplateBuilder.font(font);
//设置模板数据
CopybookTemplate copybookTemplate = copybookTemplateBuilder.pagePadding(new Integer[]{10,10,10,200}).build();
CopybookData copybookData = CopybookData.builder()
.author("Radium")
.wordList(CollUtil.toList(text.split("")))
.build();
BaseCopybook baseCopybook = new BaseCopybook(copybookTemplate, copybookData);
CopybookDirector director = new CopybookDirector(baseCopybook);
try {
Copybook construct = director.buildCopybook();
BufferedImage bufferedImage = construct.exportFirstImage();
//输出图像
ByteArrayOutputStream output = new ByteArrayOutputStream();
ImageIO.write(bufferedImage, "png", output);
FileUtil.writeBytes(output.toByteArray(),
new File(outputPath+"construct.png"));
} catch (Exception e) {
e.printStackTrace();
}
总体运用流程是这样的:
- 经过CopybookTemplate设置模板款式。
- 经过CappreciateopybookData设置模板数据。
- 运用模板的BaseCopybook来分页生成字帖。 更多运用方法分页预览怎么重新分页能够查看test中的AppTest。
参与贡献
个人空闲时间的著作,还有很多不完善的当地,欢迎我们提交代码。
- Fo软件库rk 本仓库
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request
实开源阅读app下载安装例
- 基础字帖
- 带拼音的字帖软件开发
- 设置字帖的头尾内容
- 自动多页字帖
- 第一页
- 第二页