印章图片生成工具类(sealImage)
简介
本工具用作生成各种类型印章图片
git: https://github.com/819548945/lich.tool.sealImage
maven
<dependency>
<groupId>com.github.819548945</groupId>
<artifactId>tool.sealImage</artifactId>
<version>0.0.3</version>
</dependency>
快速上手
生成方章
PersonSealImageTool.buildPersonSealImage("张三印");
生成圆章
String s="北京xx有限责任公司";
String s1="123456789012345";
SealImageTemplate sit=SealImageTemplate.getDefaultTemplate(s,s1);
SealImageTool.buildSealImage(sit)
生成椭圆章
String s="北京xx有限责任公司";
String s1="123456789012345";
SealImageTemplate sit=SealImageTemplate.getEllipseDefaultTemplate(s,s1);
SealImageTool.buildSealImage(sit)
圆形章
圆形章(椭圆章)配置说明
SealImageTemplate为圆形椭圆章模配置对象,包含5个配置子项分别为
circleSettings 圆弧配置
rectSettings 矩形配置
circleTextSettings 弧形文字配置
textSettings 横向文字配置
imageSettings 图形配置 各对象配置中包含xDeviation yDeviation 用于设置图像偏移量(以圆心为原点) 其他属性 画布宽高 width height 颜色 color
示例
示例一 详细配置
SealImageTemplate sit1= new SealImageTemplate();
sit1.setHeight(300);//设置画布高度300px
sit1.setWidth(300);//设置画布宽度300px
sit1.setColor(Color.RED);//设置为红色
sit1.addCircleSettings(new FigureSetting().setFrameSize(5).setHeight(145).setWidth(145));//设置外圈 边框宽度5px 设置半径为145px
sit1.addCircleSettings(new FigureSetting().setFrameSize(1).setHeight(139).setWidth(139));//设置内圈宽度1px 设置半径为139px
sit1.addCircleTextSettings(new CircleTextSetting("北京XX有限公司").setFont(new Font("CESI_SS_GB18030", Font.BOLD, 40))
.setHeight(150).setWidth(150).setFontSpace(20).setTopWinding(true));//设置上圈文字 文字半径为150px字间距20
sit1.addCircleTextSettings(new CircleTextSetting("1234567891234").setTopWinding(false).setFontSpace(5).setFont(new Font("CESI_SS_GB18030", Font.BOLD, 20)));//设置下圈文字
sit1.addTextSettings(new TextSetting("★"));//设置横向文字
sit1.addTextSettings(new TextSetting("业务专用章").setFont(new Font("CESI_FS_GB18030", Font.BOLD, 30)).setyDeviation(80));//设置横向文字
SealImageTool.buildSealImage(sit1)
示例二 双圈文字+插入图片
SealImageTemplate sit2=SealImageTemplate.getDefaultTemplate(s,s1);
sit2.getTextSettings().clear();
sit2.addCircleTextSettings(new CircleTextSetting("内圈文字内圈文字").setFont(new Font("CESI_SS_GB18030", Font.BOLD, 20)).setHeight(90).setWidth(90));
String img="图片base64";
BufferedImage image = ImageIO.read(new ByteArrayInputStream(Base64.getDecoder().decode(img)));
sit2.addImageSettings(new ImageSetting(image,100,100,0,0));
SealImageTool.buildSealImage(sit2)
示例三 椭圆+矩形
String s="北京xx有限责任公司";
String s1="123456789012345";
SealImageTemplate sit= SealImageTemplate.getEllipseDefaultTemplate(s,s1);
sit.addRectSettings(new FigureSetting().setFrameSize(2).setHeight(28).setWidth(150).setyDeviation(11));
SealImageTool.buildSealImage(sit));
方章
方形章内置1-9字模版
如需更换可以替换 personSealImageTemplateList参数(对应下标代表字数)
PersonSealImageTemplate为方形章模版对象包含属性
font 字体
frameSize 边框宽度
padding 内边距
margin 外边距
extTextMode 扩展文字格式 (用于单个文字占用多个文字位置)
personAlignMode 排列模式 PersonAlignMode P_2X1代表两行一列 支持自定义扩展行列
writingMode 书写模式
color 字体颜色
width 画布宽度
height 画布高度
方章展示