1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
package main
import "github.com/fogleman/gg"
func main() {
const S = 1024
dc := gg.NewContext(S, S)
dc.SetRGB(1, 1, 1)
dc.Clear()
if err := dc.LoadFontFace("/Library/Fonts/Impact.ttf", 96); err != nil {
panic(err)
}
dc.SetRGB(0, 0, 0)
s := "ONE DOES NOT SIMPLY"
n := 6 // "stroke" size
for dy := -n; dy <= n; dy++ {
for dx := -n; dx <= n; dx++ {
if dx*dx+dy*dy >= n*n {
// give it rounded corners
continue
}
x := S/2 + float64(dx)
y := S/2 + float64(dy)
dc.DrawStringAnchored(s, x, y, 0.5, 0.5)
}
}
dc.SetRGB(1, 1, 1)
dc.DrawStringAnchored(s, S/2, S/2, 0.5, 0.5)
dc.SavePNG("out.png")
}
|