给定image.RGBA
,坐标和一行文字,如何添加一个简单的标签与任何普通的固定字体?例如Face7x13
来自font/basicfont
.
package main
import (
"image"
"image/color"
"image/png"
"os"
)
func main() {
img := image.NewRGBA(image.Rect(0, 0, 320, 240))
x, y := 100, 100
addLabel(img, x, y, "Test123")
png.Encode(os.Stdout, img)
}
func addLabel(img *image.RGBA, x, y int, label string) {
col := color.Black
// now what?
}
Run Code Online (Sandbox Code Playgroud)
对齐并不重要,但最好是我可以将标签写在从坐标开始的线上方.
我想避免像字体这样的外部可加载依赖项.
我想绘制带有一些矩形,条形码的邮件标签,然后最终生成一个PNG/PDF文件.
是否有一种更好的方法在Go中绘制一个形状,而不是用原始图形 - 逐个像素?
我想打开jpeg图像文件,对其进行编码,更改一些像素颜色,然后将其保存原样.
我想做这样的事情
imgfile, err := os.Open("unchanged.jpeg")
defer imgfile.Close()
if err != nil {
fmt.Println(err.Error())
}
img,err := jpeg.Decode(imgfile)
if err != nil {
fmt.Println(err.Error())
}
img.Set(0, 0, color.RGBA{85, 165, 34, 1})
img.Set(1,0,....)
outFile, _ := os.Create("changed.jpeg")
defer outFile.Close()
jpeg.Encode(outFile, img, nil)
Run Code Online (Sandbox Code Playgroud)
我只是无法想出一个有效的解决方案,因为我在编码图像文件后得到的默认图像类型没有Set方法.
任何人都可以解释如何做到这一点?非常感谢.