绘制印章的开源工具DrawStampUtils使用

最近写了一个绘制印章的工具DrawStampUtils,具有比较完整的印章修改效果,定制化度较高,git地址(https://github.com/xxss0903/drawstamputils),也可以在npmjs中搜索DrawStampUtils即可

  // 将要绘制的canvas组件的引用传入,还有就是对应的毫米转像素的大小传入即可
  const stampCanvas = ref<HTMLCanvasElement | null>(null)
  const MM_PER_PIXEL = 10 // 毫米换算像素
    const drawStampUtils = new DrawStampUtils(stampCanvas.value, MM_PER_PIXEL)
    drawStampUtils.refreshStamp()

效果如下

印章的设计界面包含了标尺方便进行大小测量以及定位

整体包含了常用的印章设计内容,公司名称,印章类型,印章编码,税号等等。

配置选项 功能描述
ISecurityPattern 控制防伪纹路的相关参数
- openSecurityPattern 是否启用防伪纹路
- securityPatternWidth 设置防伪纹路的宽度
- securityPatternLength 设置防伪纹路的长度
- securityPatternCount 设置防伪纹路的数量
- securityPatternAngleRange 设置防伪纹路的角度范围
ICompany 控制印章公司相关的参数
- companyName 设置公司名称
- compression 控制公司名称的压缩比例
- borderOffset 设置边框偏移量
- textDistributionFactor 控制文字分布因子
- fontFamily 设置字体
- fontHeight 设置字体高度
ICode 控制印章编码相关的参数
- code 设置编码内容
- compression 控制编码的压缩比例
- fontHeight 设置编码字体大小
- fontFamily 设置编码字体
- borderOffset 设置编码边框偏移量
- fontWidth 设置编码字体宽度
- textDistributionFactor 控制编码文字分布因子
ITaxNumber 控制税号相关的参数
- code 设置税号内容
- compression 控制税号的压缩比例
- fontHeight 设置税号字体大小
- fontFamily 设置税号字体
- fontWidth 设置税号字体宽度
- letterSpacing 控制税号字符间距
- positionY 设置税号文字垂直位置
- totalWidth 设置税号文字总宽度
IAgingEffectParams 控制做旧效果的相关参数
- x 设置做旧效果的 x 轴位置
- y 设置做旧效果的 y 轴位置
- noiseSize 控制噪声大小
- noise 控制噪声强度
- strongNoiseSize 控制强噪声大小
- strongNoise 控制强噪声强度
- fade 控制淡化强度
- seed 设置随机种子
通过获取对应的配置即可修改绘制,下面用绘制五角星作为示例:
  // 首先获取到五角星的配置,然后设置配置中的参数,最后重新绘制即可
  const updateDrawConfigs = () => {
    const drawConfigs = drawStampUtils.getDrawConfigs()
    const drawStar: IDrawStar = drawConfigs.drawStar
    drawStar.drawStar = true
    drawStar.starDiameter = 11
    
    drawStampUtils.refreshStamp()
  }

更多的示例请参考demo项目,demo使用vue3写的,但是库对于react也同样适用。

posted @ 2024-09-24 09:23  乌拉小考  阅读(1339)  评论(0)    收藏  举报