首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

go给图片添加文字

import ( "flag" "image" "image/draw" "image/jpeg" "io/ioutil" "log" "os" "github.com/golang/freetype" "golang.org/x/image/font" ) var ( dpi = flag.Float64("dpi", 72, "screen resolution in Dots Per Inch") fontfile = flag.String("fontfile", "luxisr.ttf", "filename of the ttf font") hinting = flag.String("hinting", "none", "none | full") size = flag.Float64("size", 12, "font size in points") spacing = flag.Float64("spacing", 1.5, "line spacing (e.g. 2 means double spaced)") wonb = flag.Bool("whiteonblack", false, "white text on a black background") ) var text = []string{ "33333333333333333", } func main() { flag.Parse() //读取字体 fontBytes, err := ioutil.ReadFile(*fontfile) if err != nil { log.Println(err) return } //解析字体 f, err := freetype.ParseFont(fontBytes) if err != nil { log.Println(err) return } // 初始化图片背景 fg := image.Black if *wonb { fg = image.White } //初始化一张图片,生成原图 imgB, _ := os.Open("a.jpg") img, _ := jpeg.Decode(imgB) defer imgB.Close() b := img.Bounds() rgba := image.NewNRGBA(b) draw.Draw(rgba, rgba.Bounds(), img, image.ZP, draw.Src) //在图片上面添加文字 c := freetype.NewContext() c.SetDPI(*dpi) //设置字体 c.SetFont(f) //设置大小 c.SetFontSize(*size) //设置边界 c.SetClip(rgba.Bounds()) //设置背景底图 c.SetDst(rgba) //设置背景图 c.SetSrc(fg) //设置提示 switch *hinting { default: c.SetHinting(font.HintingNone) case "full": c.SetHinting(font.HintingFull) } // 画文字 pt := freetype.Pt(10, 10+int(c.PointToFixed(*size)>>6)) for _, s := range text { _, err = c.DrawString(s, pt) if err != nil { log.Println(err) return } pt.Y += c.PointToFixed(*size * *spacing) } imgw, _ := os.Create("out.jpg") jpeg.Encode(imgw, rgba, &jpeg.Options{100}) defer imgw.Close() }

04

如何使用golang写一个zabbix_sender?

2023年诺贝尔物理学奖颁发给皮埃尔·阿戈斯蒂尼、费伦茨·克劳斯和安妮•吕利耶,以表彰他们“为研究物质中的电子动力学而产生阿秒光脉冲的实验方法”。随着奖项颁布,阿秒物理学也同时被老百姓所知。相信在不久的将来,必然会出现类似摄像机的工具用以记录原子内部的运动“影片”。所以人类也正是在理论和实践中不断的进步。回想人类从石器时代到当下发达的科技,都离不开工具的不断演变和创新。再回到我们的话题中,在zabbix的工具箱中也有那么一个工具——zabbix_sender给数以万计的开发者提供能力。而通常情况下我们不需要自己写一个zabbix_sender,因为zabbix官方已经提供了一个这样的工具。那么这个工具是什么作用呢?官方给的介绍如下:

024
领券