2016-02-24 04:25:43 +01:00
|
|
|
package main
|
|
|
|
|
|
|
|
import "github.com/fogleman/gg"
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
const S = 1024
|
|
|
|
dc := gg.NewContext(S, S)
|
|
|
|
dc.SetRGB(1, 1, 1)
|
|
|
|
dc.Clear()
|
2016-03-05 20:46:55 +01:00
|
|
|
if err := dc.LoadFontFace("/Library/Fonts/Impact.ttf", 96); err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
2016-02-24 04:25:43 +01:00
|
|
|
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")
|
|
|
|
}
|