This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
I am trying to scale an image I have previously loaded from a file. All drawing of the image works fine until I make a scaled copy of it and try and display it. Then it only will display if I am stepping through the debugger. Do I need to wait somehow until the scaled image is completed before displaying?
The API docs for getScaledInstance say:
"Creates a scaled version of this image. A new Image object is returned which will render the image at the specified width and height by default. The new Image object may be loaded asynchronously even if the original source image has already been loaded completely."
So yes you may have to wait. Alternatively you can draw a scaled version of the image on the fly using one of the Graphics classes drawImage(...) methods, I've no idea how efficient it is though.
Joined: Jan 24, 2013
Thanks. I ended up using: drawImage(Img, x, y, width, height, this )