NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi Kursat,
We've had problems with lock ups during image capture. I haven't tried any image captures using the visad 2D facilities, just the 3D.I am trying to get the image of the rendered maps from the display. When I call the "getImage()" method of "DisplayImplJ2D", the thread waits infinitely. I think a deadlock state occurs inside. How can get the image of the display? Thanks in advance...
When we are in interactive mode (as opposed to batch mode) we use the Robot class (http://java.sun.com/j2se/1.3/docs/api/java/awt/Robot.html) to do a screen capture. This allows us to capture more than the DisplayImpl (e.g., multiple displays in the same window) However, the robot capture is wysiwig - if there are other windows occluding the window you want captured you'll get what is shown on the screen.
As to the lock up - there is a possibility for the capture thread to wait indefinitely using VisADCanvasJ3D. I haven't looked into this fully. One thing you can do when you are hung up is to do a stack trace dump - this will show you where exactly you are stalled. (To do a stack trace: On Unixes do a kill -3 of the jvm process. On windows do a control-break in the command window)
-Jeff
idvdevelopers
archives: