Skip to content

Commit

Permalink
fix: process icon
Browse files Browse the repository at this point in the history
Signed-off-by: Yorling <[email protected]>
  • Loading branch information
shallowclouds committed May 21, 2023
1 parent 63cab9e commit fb75bfe
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 26 deletions.
29 changes: 10 additions & 19 deletions cards.go
Original file line number Diff line number Diff line change
Expand Up @@ -185,32 +185,23 @@ const (
defaultIconSize = 30
)

func initIcon() {
askerImg := mustReadImg("assets/sun.png")
readerImg := mustReadImg("assets/moon.png")

askerImg = imaging.Resize(askerImg, defaultIconSize, defaultIconSize, imaging.Lanczos)
readerImg = imaging.Resize(readerImg, defaultIconSize, defaultIconSize, imaging.Lanczos)

dc := gg.NewContextForImage(askerImg)
dc.SetFillRule(gg.FillRuleWinding)
func processIcon(pic image.Image) image.Image {
if b := pic.Bounds(); b.Dx() != defaultIconSize || b.Dy() != defaultIconSize {
pic = imaging.Resize(pic, defaultIconSize, defaultIconSize, imaging.Lanczos)
}
dc := gg.NewContextForImage(pic)
dc.DrawCircle(float64(defaultIconSize/2), float64(defaultIconSize/2), float64(defaultIconSize/2))
dc.Clip()
dc.InvertMask()
dc.DrawRectangle(0, 0, float64(defaultIconSize), float64(defaultIconSize))
dc.SetColor(color.Black)
dc.Fill()
askerImg = dc.Image()
return dc.Image()
}

dc = gg.NewContextForImage(readerImg)
dc.SetFillRule(gg.FillRuleWinding)
dc.DrawCircle(float64(defaultIconSize/2), float64(defaultIconSize/2), float64(defaultIconSize/2))
dc.Clip()
dc.InvertMask()
dc.DrawRectangle(0, 0, float64(defaultIconSize), float64(defaultIconSize))
dc.SetColor(color.Black)
dc.Fill()
readerImg = dc.Image()
func initIcon() {
askerImg := processIcon(mustReadImg("assets/sun.png"))
readerImg := processIcon(mustReadImg("assets/moon.png"))

assets.AskerImg = askerImg
assets.ReaderImg = readerImg
Expand Down
12 changes: 5 additions & 7 deletions reader.go
Original file line number Diff line number Diff line change
Expand Up @@ -257,18 +257,16 @@ func (r *Reader) Render(cards [3]Card, Q, A string, opt DivineOption) (image.Ima
}
if opt.AskerImg == nil {
opt.AskerImg = r.assets.AskerImg
} else {
opt.AskerImg = processIcon(opt.AskerImg)
}
if opt.Reader == "" {
opt.Reader = "Fortuneteller"
opt.Reader = "占卜人"
}
if opt.ReaderImg == nil {
opt.ReaderImg = r.assets.ReaderImg
}
if b := opt.AskerImg.Bounds(); b.Dx() != defaultIconSize || b.Dy() != defaultIconSize {
opt.AskerImg = imaging.Resize(opt.AskerImg, defaultIconSize, defaultIconSize, imaging.Lanczos)
}
if b := opt.ReaderImg.Bounds(); b.Dx() != defaultIconSize || b.Dy() != defaultIconSize {
opt.ReaderImg = imaging.Resize(opt.ReaderImg, defaultIconSize, defaultIconSize, imaging.Lanczos)
} else {
opt.ReaderImg = processIcon(opt.ReaderImg)
}

img := image.NewNRGBA64(image.Rect(0, 0, defaultImageWidth, defaultImageHeight))
Expand Down

0 comments on commit fb75bfe

Please sign in to comment.