使用Golang打印图像中的文本。

huangapple go评论81阅读模式
英文:

golang: print text in the image

问题

我正在尝试使用以下包:

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

但我希望能够在我的图像中打印任何文本或数字(也可以是文本)。

但是似乎Go语言的标准库中没有直接提供这样的功能。

有人可以帮我找到Go语言的解决方案吗?

英文:

I'm trying to use next packages

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

but I want to have possibility to print any text or numbers (which may also be text) in the my image.

But it looks like nothing from the box in Go to do this.

Can anyone help me with "GO way" solution for this?

答案1

得分: 9

我只找到了这一个,freetype-go

是否有适合我需求的最佳且唯一的库呢?

英文:

I found just this one, freetype-go

is there a best and only lib for my needs?

答案2

得分: 4

请检查以下代码:

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")
}

这是一个使用github.com/fogleman/gg库的Go语言代码示例。它加载一张名为src.jpg的图片,并在一个大小为1024x1024的画布上绘制文字和图片。最后,它将绘制的结果保存为out.png文件。

英文:

check this

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")
}

huangapple
  • 本文由 发表于 2014年12月23日 17:37:06
  • 转载请务必保留本文链接:https://go.coder-hub.com/27617636.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定