This method returns immediately in all cases, even if the image area to be drawn has not yet been scaled, dithered, and converted for the current output device. If the current output representation is not yet complete then drawImage returns false. As more of the image becomes available, the process that loads the image notifies the specified image observer.
Image operations can be slow. As the paragraph says, you can't assume that the operation is complete just because the method call returned. If you intend to do something with the image that assumes that it is in fact complete, then you need to work with ImageObserver, and wait until it tells you that the operation is complete.