Re: java.awt.image.ImagingOpException

Hi Olver,

I have never gotten this Exception, but we don't use
Java2D much. I have put a try clause around line 578
of VisADCanvasJ2D.java as follows:

        try {
          g2.drawImage(image, 0, 0, this);
        } catch (java.awt.image.ImagingOpException e) { }

Until my next release, you can find the updated code at:

  ftp://ftp.ssec.wisc.edu/pub/visad-2.0/untested/VisADCanvasJ2D.java

Please let us know if this does not fix your problem.

Cheers,
Bill

OLVER OLFREY HERNANDEZ NAVARRO wrote:
> 
> Hi.
> 
> Sometimes when I show a Display, it throws this exception.
> Why does this happens??
> 
> this is the Stack trace:
> 
> java.awt.image.ImagingOpException: Unable to invert transform
> AffineTransform[[0.0, 0.0, 218.5], [-0.0, 0.627493881806731,
> 98.8615662574768]]
>         at java.awt.image.AffineTransformOp.validateTransform
> (AffineTransformOp.java:536)
>         at
> java.awt.image.AffineTransformOp.<init>(AffineTransformOp.java:129)
>         at sun.java2d.pipe.DrawImage.transformImage(DrawImage.java:233)
>         at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:52)
>         at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:715)
>         at sun.java2d.pipe.ValidatePipe.copyImage(ValidatePipe.java:147)
>         at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2782)
>         at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2772)
>         at visad.java2d.VisADCanvasJ2D.render(VisADCanvasJ2D.java:578)
>         at visad.java2d.VisADCanvasJ2D.render(VisADCanvasJ2D.java:524)
>         at visad.java2d.VisADCanvasJ2D.render(VisADCanvasJ2D.java:524)
>         at visad.java2d.VisADCanvasJ2D.render(VisADCanvasJ2D.java:513)
>         at visad.java2d.VisADCanvasJ2D.render(VisADCanvasJ2D.java:524)
>         at visad.java2d.VisADCanvasJ2D.render(VisADCanvasJ2D.java:524)
>         at
> visad.java2d.VisADCanvasJ2D.paintComponent(VisADCanvasJ2D.java:404)
>         at javax.swing.JComponent.paint(JComponent.java:804)
>         at javax.swing.JComponent.paintChildren(JComponent.java:643)
>         at javax.swing.JComponent.paint(JComponent.java:813)
>         at javax.swing.JComponent.paintChildren(JComponent.java:643)
>         at javax.swing.JComponent.paint(JComponent.java:813)
>         at javax.swing.JComponent.paintChildren(JComponent.java:643)
>         at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1021)
>         at javax.swing.JComponent.paint(JComponent.java:813)
>         at javax.swing.JComponent.paintChildren(JComponent.java:643)
>         at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1021)
>         at javax.swing.JComponent.paint(JComponent.java:813)
>         at javax.swing.JComponent.paintChildren(JComponent.java:643)
>         at javax.swing.JComponent.paint(JComponent.java:813)
>         at javax.swing.JComponent.paintChildren(JComponent.java:643)
>         at javax.swing.JComponent.paint(JComponent.java:813)
>         at javax.swing.JLayeredPane.paint(JLayeredPane.java:552)
>         at javax.swing.JComponent.paintChildren(JComponent.java:643)
>         at
> javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4742)
>         at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4688)
>         at javax.swing.JComponent.paint(JComponent.java:794)
>         at
> java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21)
>         at
> sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
>         at
> sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
>         at java.awt.Container.paint(Container.java:1123)
>         at sun.awt.RepaintArea.paint(RepaintArea.java:180)
>         at
> sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:260)
>         at java.awt.Component.dispatchEventImpl(Component.java:3586)
>         at java.awt.Container.dispatchEventImpl(Container.java:1437)
>         at java.awt.Window.dispatchEventImpl(Window.java:1566)
>         at java.awt.Component.dispatchEvent(Component.java:3367)
>         at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
>         at
> java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:190)
>         at
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:144)
>         at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
>         at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130)
>         at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)
> 
> Thank´s
> 
> Olver Hernández
> Universidad Nacional
> Facultad de Minas
> Medellín
> Colombia

-- 
----------------------------------------------------------
Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI  53706
hibbard@xxxxxxxxxxxxxxxxx  608-263-4427  fax: 608-263-6738
http://www.ssec.wisc.edu/~billh/vis.html