code: public Image getScaledCopy(int width, int height) {
  		init();
  		Image image = copy();
  		image.width = width;
  		image.height = height;
  		image.centerX = width / 2;
  		image.centerY = height / 2;
  		
  		image.textureOffsetX *= (width/(float) this.width);
  		image.textureOffsetY *= (height/(float) this.height);
  		image.textureWidth *= (width/(float) this.width);
  		image.textureHeight *= (height/(float) this.height);
  
  		return image;
  	}
docs: <p>Get a scaled copy of this image.</p>
  
  <p>This will only scale the <strong>canvas</strong>, it will not
  scale the underlying texture data. For a downscale, the texture will
  get clipped. For an upscale, the texture will be repetated on both axis</p>
  
  <p>Also note that the underlying texture might be bigger than the initial
  image that was loaded because its size is fixed to the next power of two
  of the size of the image. So if a 100x100 image was loaded, the underlying texture
  is 128x128. If it's then scaled to 200x200, there will be a gap
  between 100 to 128 (black), and then the texture will be repeated.</p>
  
  <img src="doc-files/Image-getScaledCopy.png" />
  
  <p>This especially has nasty side effects when you scale a flipped image...</p>
  
  @param width The width of the copy
  @param height The height of the copy
  @return The new scaled image