package main import ( "bytes" b64 "encoding/base64" "image" "image/color" "github.com/disintegration/imaging" ) type Doorbell struct { image image.Image } func (a *Animation) animateDoorbell() { if a.countDown > 0 { a.ctx.DrawImageAnchored(a.doorbell.image, 0, 0, 0, 0) a.countDown -= 50 } else { a.doorbell = Doorbell{} a.countDown = 5000 a.ctx.Pop() } } func (a *Animation) loadImage(imgType string, img string) { baseImage, _ := b64.StdEncoding.DecodeString(img) bigImage, _, _ := image.Decode(bytes.NewReader(baseImage)) a.doorbell.image = imaging.Resize(bigImage, 64, 64, imaging.Lanczos) a.ctx.Push() a.ctx.Clear() a.ctx.SetColor(color.Black) a.ctx.SetColor(color.White) }