go文字生成图片的较靠谱的方法

Tony哥
2024-07-19 / 0 评论 / 65 阅读 / 正在检测是否收录...
我们经常会遇到一些情况,在转换昵称做图片海报的时候,出现字体库内资源不够导致字体无法转化的清理,搜遍全网也没有一个很好的解决办法,于是就自动动手封装了一个,原理还是逃脱不掉字体库,于是我封装了一些常用的字体库(且支持中日韩和一些常用的符号图形)

使用说明

  1. 引入扩展
    go get gitee.com/archn/act-red-go
  2. 加载依赖
    go mod tidy
  3. 导入方法
    import "gitee.com/archn/act-red-go/text-to-img/toimage"
  4. 使用方法:

    • toimage.RenderTextToPNG(text string, fontPaths []string, outputOrFile any, args ...TextToPngArgs) error

      文字转换为图片方法,用于常规海报生成等

      fontPaths 默认使用内置字体 如果要新增请注意 排序靠前的优先匹配

      outputOrFile 可以是文件名称路径(绝对路径请已/开头)、也可以是文件句柄os.File用于内容写入

      args 为可选参数,用于配置文字的颜色大小图片大小等基本信息详情请关注对应结构体,(默认12px|黑色|自适应)

    • toimage.ConvertRemoteImageToPNG(imageURL string, output *os.File) error

      任意图片转png方法

使用例子

package main

import "gitee.com/archn/act-red-go/text-to-img/toimage"

func main() {
    err := toimage.RenderTextToPNG("新ღღ你不认识吗?A中国🐂나사랑해요12abα🌸double 🇨🇳 🧧ৡღ ℒℴѵℯ依·訫ꦿ⸙ ঞ 不留遗憾 ོꦿ ࿐ ₅₂ₒ ꧁哥 ໊是ꕥ电ꦿ工꧂", nil, "abc.png", toimage.TextToPngArgs{Size: 30})
    if err != nil {
        return
    }
}

包共享地址

act-red-go 如有需要请自行扩展或提供宝贵建议

0

评论 (0)

取消