code: func (pd *PictureData) Image() *image.RGBA {
  	bounds := image.Rect(
  		int(math.Floor(pd.Rect.Min.X)),
  		int(math.Floor(pd.Rect.Min.Y)),
  		int(math.Ceil(pd.Rect.Max.X)),
  		int(math.Ceil(pd.Rect.Max.Y)),
  	)
  	rgba := image.NewRGBA(bounds)
  
  	i := 0
  	for y := bounds.Min.Y; y < bounds.Max.Y; y++ {
  		for x := bounds.Min.X; x < bounds.Max.X; x++ {
  			off := pd.Index(V(float64(x), float64(y)))
  			rgba.Pix[i*4+0] = pd.Pix[off].R
  			rgba.Pix[i*4+1] = pd.Pix[off].G
  			rgba.Pix[i*4+2] = pd.Pix[off].B
  			rgba.Pix[i*4+3] = pd.Pix[off].A
  			i++
  		}
  	}
  
  	verticalFlip(rgba)
  
  	return rgba
  }
docs: // Image converts PictureData into an image.RGBA.
  //
  // The resulting image.RGBA's Bounds will be equivalent of the PictureData's Bounds.