印章图片生成工具类(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("张三印");

img

生成圆章

String s="北京xx有限责任公司";
String s1="123456789012345";
SealImageTemplate sit=SealImageTemplate.getDefaultTemplate(s,s1);
SealImageTool.buildSealImage(sit)

img

生成椭圆章

String s="北京xx有限责任公司";
String s1="123456789012345";
SealImageTemplate sit=SealImageTemplate.getEllipseDefaultTemplate(s,s1);
SealImageTool.buildSealImage(sit)

img

圆形章

圆形章(椭圆章)配置说明

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)

img

示例二 双圈文字+插入图片
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)

img

示例三 椭圆+矩形
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));

img

方章

方形章内置1-9字模版

如需更换可以替换 personSealImageTemplateList参数(对应下标代表字数)

PersonSealImageTemplate为方形章模版对象包含属性

font 字体

frameSize 边框宽度

padding 内边距

margin 外边距

extTextMode 扩展文字格式 (用于单个文字占用多个文字位置)

personAlignMode 排列模式 PersonAlignMode P_2X1代表两行一列 支持自定义扩展行列

writingMode 书写模式

color 字体颜色

width 画布宽度

height 画布高度

方章展示

零 一 二 三 四 五 六 七 八 九

results matching ""

    No results matching ""