protected BufferedImage initOffsets() {
			BufferedImage img = image;
			
			if( img == null ) return img;
			
			scale = 1;
			while( img.getWidth() * scale > getWidth() || img.getHeight() * scale > getHeight() ) {
				scale /= 2;
			}
			while( img.getWidth() * scale * 2 <= getWidth() && img.getHeight() * 2 <= getHeight() ) {
				scale *= 2;
			}
			
			offX = (int)(getWidth() - img.getWidth() * scale) / 2;
			offY = (int)(getHeight() - img.getHeight() * scale) / 2;
			
			return img;
		}