Strange drawImage behavior

If I take this image:

and attempt to blow up portions of it using this code:

void paint(Graphics &g) { g.fillAll(Colours::black); g.setImageResamplingQuality(Image::lowResamplingQuality); for (int i=0; i<6; i++) { g.drawImage(img,0,i*60,200,img->getHeight(),i*2,0,10,img->getHeight()); } }

then I get this:

Although the destination width passed in to the method is constant it produces images of varying widths. Any idea what’s going on?