You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-dev@xmlgraphics.apache.org by Jaime Gaviria <ki...@yahoo.com> on 2003/04/09 23:48:54 UTC

Determinant is 0

Regards, 

Operating System : WinXP
JDK version : 1.4.1

I'm try to run my demo.... but the JSVGCanvas let me know the error :
SVGError : Determinant is 0 
java.awt.geom.NoninvertibleTransformException: Determinant is 0 at java.awt.geom.AffineTransform.createInverse(AffineTransform.java:2033) at org.apache.batik.swing.gvt.JGVTComponent.setRenderingTransform(Unknown Source) at org.apache.batik.swing.svg.JSVGComponent.computeRenderingTransform(Unknown Source) at org.apache.batik.swing.svg.JSVGComponent$SVGListener.gvtBuildStarted(Unknown Source)
at org.apache.batik.swing.svg.GVTTreeBuilder$1.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:171)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:448)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy
EventDispatchThread.java:197)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)

The source code is : 

import java.io.IOException;
import javax.swing.JFrame;
import org.apache.batik.dom.svg.SAXSVGDocumentFactory;
import org.apache.batik.dom.svg.SVGDOMImplementation;
import org.apache.batik.swing.JSVGCanvas;
import org.apache.batik.util.XMLResourceDescriptor;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.svg.SVGDocument;

public class SVGSaxExample {
 
 private static Document doc;
 private static final String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
 
 public static void main(String[] args) {
  String parser = XMLResourceDescriptor.getXMLParserClassName();
  System.out.println("Parser used : " + parser);
  
  String cssparser = XMLResourceDescriptor.getCSSParserClassName();
  System.out.println("CSS Parser used : " + cssparser);
  
  SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser);
  String myURI= "file:/C:/eclipse-SDK-M5-win32/workspace/SVGViewer/final.svg";

  try {
   doc = f.createDocument(myURI);
  } catch (IOException e) {
   e.printStackTrace();
  }
  System.out.println("Begin Documento ... ");
  traverse(doc);  
  System.out.println("End Documento ... ");
  
  // Now, display the document
   JSVGCanvas canvas = new JSVGCanvas();
   JFrame myframe = new JFrame();
  myframe.getContentPane().add(canvas);
   canvas.setSVGDocument((SVGDocument)doc);
  myframe.pack();
  myframe.setVisible(true);


 }
 
 //  Traverse DOM Tree.  Print out Element Names
 private static void traverse (Node node) {
   int type = node.getNodeType();
   if (type == Node.ELEMENT_NODE)
    System.out.println (node.getNodeName());
   NodeList children = node.getChildNodes();
   if (children != null) {
    for (int i=0; i< children.getLength(); i++) 
      traverse (children.item(i));  
   }
 } 
 

}

Thanks 



---------------------------------
Do You Yahoo!?
Todo lo que quieres saber de Estados Unidos, América Latina y el resto del Mundo.
Visíta Yahoo! Noticias.