golang: печать текста на изображении

Я пытаюсь использовать следующие пакеты

"image/draw"
"image"
"image/jpeg"

но я хочу иметь возможность распечатать любой текст или цифры (которые также могут быть текст) в мой имидж.

но похоже, что ничего из коробки в Go для этого нет.

может ли кто-нибудь помочь мне с решением "GO way" для этого?

2 ответов


Я нашел только один, freetype-go

есть ли лучший и единственный lib для моих нужд?


проверить это

package main

import (
    "github.com/fogleman/gg"
    "log"
)

func main() {
    const S = 1024
    im, err := gg.LoadImage("src.jpg")
    if err != nil {
        log.Fatal(err)
    }

    dc := gg.NewContext(S, S)
    dc.SetRGB(1, 1, 1)
    dc.Clear()
    dc.SetRGB(0, 0, 0)
    if err := dc.LoadFontFace("/Library/Fonts/Arial.ttf", 96); err != nil {
        panic(err)
    }
    dc.DrawStringAnchored("Hello, world!", S/2, S/2, 0.5, 0.5)

    dc.DrawRoundedRectangle(0, 0, 512, 512, 0)
    dc.DrawImage(im, 0, 0)
    dc.DrawStringAnchored("Hello, world!", S/2, S/2, 0.5, 0.5)
    dc.Clip()
    dc.SavePNG("out.png")
}