diff options
author | Přemysl Eric Janouch <p@janouch.name> | 2021-06-09 23:16:50 +0200 |
---|---|---|
committer | Přemysl Eric Janouch <p@janouch.name> | 2021-06-09 23:18:06 +0200 |
commit | 9734cdd16e1b7572464dfaed3bd03a70db46a3d3 (patch) | |
tree | 470162274d9ef41184440ac40268b55c4550b118 | |
parent | 8215b59834d8a02cb43d34c55d9604dda7749cfd (diff) | |
download | sklad-9734cdd16e1b7572464dfaed3bd03a70db46a3d3.tar.gz sklad-9734cdd16e1b7572464dfaed3bd03a70db46a3d3.tar.xz sklad-9734cdd16e1b7572464dfaed3bd03a70db46a3d3.zip |
bdf: make it possible to set the drawing colour
Intended for red and black tapes.
-rw-r--r-- | LICENSE | 2 | ||||
-rw-r--r-- | bdf/bdf.go | 6 | ||||
-rw-r--r-- | cmd/bdf-preview/main.go | 3 | ||||
-rw-r--r-- | cmd/bdf-sample/main.go | 3 | ||||
-rw-r--r-- | cmd/label-tool/main.go | 3 | ||||
-rw-r--r-- | label/label.go | 5 |
6 files changed, 14 insertions, 8 deletions
@@ -1,4 +1,4 @@ -Copyright (c) 2019, Přemysl Eric Janouch <p@janouch.name> +Copyright (c) 2019 - 2021, Přemysl Eric Janouch <p@janouch.name> Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. @@ -66,11 +66,13 @@ func (f *Font) FindGlyph(r rune) (glyph, bool) { // DrawString draws the specified text string onto dst horizontally along // the baseline starting at dp, using black color. -func (f *Font) DrawString(dst draw.Image, dp image.Point, s string) { +func (f *Font) DrawString(dst draw.Image, dp image.Point, + color color.Color, s string) { + src := image.NewUniform(color) for _, r := range s { g, _ := f.FindGlyph(r) draw.DrawMask(dst, g.bounds.Add(dp), - image.Black, image.ZP, &g, g.bounds.Min, draw.Over) + src, image.ZP, &g, g.bounds.Min, draw.Over) dp.X += g.advance } } diff --git a/cmd/bdf-preview/main.go b/cmd/bdf-preview/main.go index c2edf5c..3632264 100644 --- a/cmd/bdf-preview/main.go +++ b/cmd/bdf-preview/main.go @@ -3,6 +3,7 @@ package main import ( "html/template" "image" + "image/color" "image/draw" "image/png" "log" @@ -82,7 +83,7 @@ func main() { img := image.NewRGBA(super) draw.Draw(img, super, image.White, image.ZP, draw.Src) - font.DrawString(img, image.ZP, font.Name) + font.DrawString(img, image.ZP, color.Black, font.Name) fonts[filename] = fontItem{Font: font, Preview: img} } diff --git a/cmd/bdf-sample/main.go b/cmd/bdf-sample/main.go index 1850118..e8a2b94 100644 --- a/cmd/bdf-sample/main.go +++ b/cmd/bdf-sample/main.go @@ -2,6 +2,7 @@ package main import ( "image" + "image/color" "image/draw" "image/png" "log" @@ -26,7 +27,7 @@ func main() { img := image.NewRGBA(super) draw.Draw(img, super, image.White, image.ZP, draw.Src) - font.DrawString(img, image.ZP, font.Name) + font.DrawString(img, image.ZP, color.Black, font.Name) fo, err := os.Create("out.png") if err != nil { diff --git a/cmd/label-tool/main.go b/cmd/label-tool/main.go index d2ac4f9..893aa13 100644 --- a/cmd/label-tool/main.go +++ b/cmd/label-tool/main.go @@ -4,6 +4,7 @@ import ( "errors" "html/template" "image" + "image/color" "image/draw" "image/png" "log" @@ -260,7 +261,7 @@ func main() { img := image.NewRGBA(super) draw.Draw(img, super, image.White, image.ZP, draw.Src) - font.DrawString(img, image.ZP, font.Name) + font.DrawString(img, image.ZP, color.Black, font.Name) fonts = append(fonts, &fontItem{Path: path, Font: font, Preview: img}) } diff --git a/label/label.go b/label/label.go index 63c600e..7e4b34f 100644 --- a/label/label.go +++ b/label/label.go @@ -2,6 +2,7 @@ package label import ( "image" + "image/color" "image/draw" "strings" @@ -19,7 +20,7 @@ func GenLabelForHeight(font *bdf.Font, textRect, _ := font.BoundString(text) textImg := image.NewRGBA(textRect) draw.Draw(textImg, textRect, image.White, image.ZP, draw.Src) - font.DrawString(textImg, image.ZP, text) + font.DrawString(textImg, image.ZP, color.Black, text) scaledTextImg := imgutil.Scale{Image: textImg, Scale: scale} scaledTextRect := scaledTextImg.Bounds() @@ -93,7 +94,7 @@ func GenLabelForWidth(font *bdf.Font, for i, line := range lines { textImg := image.NewRGBA(rects[i]) draw.Draw(textImg, rects[i], image.White, image.ZP, draw.Src) - font.DrawString(textImg, image.ZP, line) + font.DrawString(textImg, image.ZP, color.Black, line) scaledImg := imgutil.Scale{Image: textImg, Scale: scale} scaledRect := scaledImg.Bounds() |