code: func BlendBgColor(dest *Image, c color.Color) {
  	r := dest.Bounds()
  	cr32, cg32, cb32, _ := c.RGBA()
  	cr, cg, cb := uint8(cr32), uint8(cg32), uint8(cb32)
  
  	var bgra BGRA
  	var alpha float64
  	for x := r.Min.X; x < r.Max.X; x++ {
  		for y := r.Min.Y; y < r.Max.Y; y++ {
  			bgra = dest.At(x, y).(BGRA)
  			alpha = float64(bgra.A) / 255.0
  			dest.SetBGRA(x, y, BGRA{
  				B: blend(cb, bgra.B, alpha),
  				G: blend(cg, bgra.G, alpha),
  				R: blend(cr, bgra.R, alpha),
  				A: 0xff,
  			})
  		}
  	}
  }
docs: // BlendBgColor blends the Image (receiver) into the background color
  // specified. This is more efficient than creating a background image and
  // blending with Blend.