Image has method getScaledInstance that can be used to scale images. Could you use this to accomplish what you are trying to do?
Image img = createImage(new MemoryImageSource(w, h, pix, 0, w))
w - the width of the rectangle of pixels
h - the height of the rectangle of pixels
pix - an array of pixels
off - the offset into the array of where to store the first pixel
scan - the distance from one row of pixels to the next in the array
More info can be found at: http://java.sun.com/j2se/1.4/docs/api/java/awt/image/MemoryImageSource.html
hope this helps you
Tuukka