The problem is because of non-serialized instance passing.
BufferedImage class does not implement Serializable interface which is required so as to persist the instance details.
RMI supports only serialized instance to be passed as arguments or return type.
It would be better if you could pass the pixel array and reproduce the image from the other end.
Grab pixels into Array return it
--------------------------------
int temp[];
int pixelsGrabbed[] = bImage.getRGB(0,0,width,height,temp,0,width);
return pixelsGrabbed;
*************************************************************************
int[] getRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)
Returns an array of integer pixels in the default RGB color model (TYPE_INT_ARGB) and default sRGB color space, from a portion of the image data.
*************************************************************************
Reproduce the image with the grabbed pixels
-------------------------------------------
BufferedImage bImage=Toolkit.getDefaultToolkit().createImage(new MemoryImageSource(Imagewidth, Imageheight, pixelsGrabbed, 0,Imagewidth));
Hope this helps
Also See
Reference Roshini.S
[ March 06, 2005: Message edited by: roshini sridhar ]