code: func NewImageFromImage(source image.Image, filter Filter) (*Image, error) {
  	size := source.Bounds().Size()
  
  	width, height := size.X, size.Y
  
  	s := shareable.NewImage(width, height)
  	i := &Image{
  		mipmap: newMipmap(s),
  		filter: filter,
  	}
  	i.addr = i
  
  	_ = i.ReplacePixels(graphics.CopyImage(source))
  	return i, nil
  }
docs: // NewImageFromImage creates a new image with the given image (source).
  //
  // If source's width or height is less than 1 or more than device-dependent maximum size, NewImageFromImage panics.
  //
  // filter argument is just for backward compatibility.
  // If you are not sure, specify FilterDefault.
  //
  // Error returned by NewImageFromImage is always nil as of 1.5.0-alpha.