當前位置: 首頁>>代碼示例>>Java>>正文


Java SVGGraphics2D.stream方法代碼示例

本文整理匯總了Java中org.apache.batik.svggen.SVGGraphics2D.stream方法的典型用法代碼示例。如果您正苦於以下問題:Java SVGGraphics2D.stream方法的具體用法?Java SVGGraphics2D.stream怎麽用?Java SVGGraphics2D.stream使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.batik.svggen.SVGGraphics2D的用法示例。


在下文中一共展示了SVGGraphics2D.stream方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: exportImage

import org.apache.batik.svggen.SVGGraphics2D; //導入方法依賴的package包/類
public void exportImage() {
  try {
    File file = IOUtility.selectFileToSave(FileType.IMAGE);
    if (file != null) {
      Rectangle drawingArea = getDrawingArea();
      String extension = FilenameUtils.getExtension(file.getName());
      if (extension.equals("svg")) {
        SVGGraphics2D svgGenerator = IOUtility.getSVGGraphics(drawingArea.getSize());
        paintDrawing(svgGenerator, drawingArea.x, drawingArea.y);
        svgGenerator.stream(new FileWriter(file));
        svgGenerator.dispose();
      } else {
        BufferedImage bi = new BufferedImage(drawingArea.width, drawingArea.height, BufferedImage.TYPE_INT_RGB);
        Graphics g = bi.createGraphics();
        paintDrawing(g, drawingArea.x, drawingArea.y);
        ImageIO.write(bi, extension, file);
        g.dispose();
      }
    }
  } catch (Exception e) {
    e.printStackTrace();
  }
}
 
開發者ID:onprom,項目名稱:onprom,代碼行數:24,代碼來源:UMLDiagramPanel.java

示例2: writeSVG

import org.apache.batik.svggen.SVGGraphics2D; //導入方法依賴的package包/類
private void writeSVG(OutputStream stream) throws IOException {
    DOMImplementation impl = GenericDOMImplementation
            .getDOMImplementation();
    String svgNS = "http://www.w3.org/2000/svg";
    Document myFactory = impl.createDocument(svgNS, "svg", null);

    SVGGeneratorContext ctx = SVGGeneratorContext.createDefault(myFactory);
    ctx.setEmbeddedFontsOn(Options.getBoolean("EMBEDDED_SVG_FONTS", true));
    SVGGraphics2D svgGenerator = new SVGGraphics2D(ctx, Options.getBoolean(
            "EMBEDDED_SVG_FONTS", true));

    svgGenerator.setSVGCanvasSize(size);

    paint(svgGenerator, 0, 0);

    boolean useCSS = true;
    Writer out = new OutputStreamWriter(stream, "UTF-8");
    svgGenerator.stream(out, useCSS);

}
 
開發者ID:Vitaliy-Yakovchuk,項目名稱:ramus,代碼行數:21,代碼來源:PIDEF0painter.java

示例3: exportChartAsSVG

import org.apache.batik.svggen.SVGGraphics2D; //導入方法依賴的package包/類
/**
 * Exports a JFreeChart to a SVG file.
 *
 * @param chart JFreeChart to export
 * @param bounds the dimensions of the viewport
 * @param svgFile the output file.
 * @throws IOException if writing the svgFile fails.
 */
public static void exportChartAsSVG(
        JFreeChart chart,
        Rectangle bounds,
        File svgFile) throws IOException {
    // Get a DOMImplementation and create an XML document
    DOMImplementation domImpl
            = GenericDOMImplementation.getDOMImplementation();
    Document document = domImpl.createDocument(null, "svg", null);

    // Create an instance of the SVG Generator
    SVGGraphics2D svgGenerator = new SVGGraphics2D(document);

    // draw the chart in the SVG generator
    chart.draw(svgGenerator, bounds);

    // Write svg file
    OutputStream outputStream = new FileOutputStream(svgFile);
    Writer out = new OutputStreamWriter(outputStream, "UTF-8");
    svgGenerator.stream(out, true /* use css */);
    outputStream.flush();
    outputStream.close();
}
 
開發者ID:IARC-CSU,項目名稱:CanReg5,代碼行數:31,代碼來源:Tools.java

示例4: export

import org.apache.batik.svggen.SVGGraphics2D; //導入方法依賴的package包/類
@Override
public void export(Model model, OutputStream out) throws IOException, SerialisationException {
    if (!(model instanceof VisualModel)) {
        throw new SerialisationException("Non-visual model cannot be exported as SVG file.");
    }
    VisualModel visualModel = (VisualModel) model;
    try {
        Document doc = XmlUtils.createDocument();
        SVGGraphics2D g2d = new SVGGraphics2D(doc);
        g2d.setUnsupportedAttributes(null);
        g2d.scale(SCALE_FACTOR, SCALE_FACTOR);
        VisualGroup visualGroup = (VisualGroup) model.getRoot();
        Rectangle2D bounds = visualGroup.getBoundingBoxInLocalSpace();
        g2d.translate(-bounds.getMinX(), -bounds.getMinY());
        int canvasWidth = (int) (bounds.getWidth() * SCALE_FACTOR);
        int canvasHeight = (int) (bounds.getHeight() * SCALE_FACTOR);
        g2d.setSVGCanvasSize(new Dimension(canvasWidth, canvasHeight));
        visualModel.draw(g2d, Decorator.Empty.INSTANCE);
        g2d.stream(new OutputStreamWriter(out));
    } catch (ParserConfigurationException e) {
        throw new SerialisationException(e);
    }
}
 
開發者ID:workcraft,項目名稱:workcraft,代碼行數:24,代碼來源:SvgExporter.java

示例5: exportAsSVG

import org.apache.batik.svggen.SVGGraphics2D; //導入方法依賴的package包/類
public static <T, U> void exportAsSVG(VennFigureParameters<T> parameters, File file, Dimension size) throws IOException {

        // Get a DOMImplementation.
        DOMImplementation domImpl =
                GenericDOMImplementation.getDOMImplementation();

        // Create an instance of org.w3c.dom.Document.
        String svgNS = "http://www.w3.org/2000/svg";
        Document document = domImpl.createDocument(svgNS, "svg", null);

        // Create an instance of the SVG Generator.
        SVGGraphics2D svgGenerator = new SVGGraphics2D(document);
        VennDrawGraphics2D.draw(VennFigureCreator.createVennFigure(parameters), svgGenerator, size);
        try (Writer writer = new FileWriter(file)) {
            svgGenerator.stream(writer, true);
        }
    }
 
開發者ID:informationsea,項目名稱:VennDraw,代碼行數:18,代碼來源:VennExporter.java

示例6: fullExportToStream

import org.apache.batik.svggen.SVGGraphics2D; //導入方法依賴的package包/類
@Override
public void fullExportToStream(ERDesignerGraph aGraph, OutputStream aStream) throws IOException {
    Object[] cells = aGraph.getRoots();
    Rectangle2D bounds = aGraph.toScreen(aGraph.getCellBounds(cells));
    if (bounds != null) {
        DOMImplementation theDomImpl = SVGDOMImplementation.getDOMImplementation();
        String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
        Document theDocument = theDomImpl.createDocument(svgNS, "svg", null);
        SVGGraphics2D theSvgGenerator = new SVGGraphics2D(theDocument);
        theSvgGenerator.translate(-bounds.getX() + 10, -bounds.getY() + 0);
        RepaintManager theRepaintManager = RepaintManager.currentManager(aGraph);
        theRepaintManager.setDoubleBufferingEnabled(false);
        boolean theDoubleBuffered = aGraph.isDoubleBuffered();
        // Disable double buffering to allow Batik to render svg elements
        // instead of images
        aGraph.setDoubleBuffered(false);
        aGraph.paint(theSvgGenerator);
        aGraph.setDoubleBuffered(theDoubleBuffered);
        Writer theWriter = new OutputStreamWriter(aStream, PlatformConfig.getXMLEncoding());
        theSvgGenerator.stream(theWriter, false);
        theRepaintManager.setDoubleBufferingEnabled(true);

        theWriter.flush();
        theWriter.close();
    }
}
 
開發者ID:mirkosertic,項目名稱:ERDesignerNG,代碼行數:27,代碼來源:SVGExporter.java

示例7: exportToStream

import org.apache.batik.svggen.SVGGraphics2D; //導入方法依賴的package包/類
@Override
public void exportToStream(Component aComponent, OutputStream aStream) throws IOException {
    DOMImplementation theDomImpl = GenericDOMImplementation.getDOMImplementation();
    Document theDocument = theDomImpl.createDocument(null, "svg", null);
    SVGGraphics2D theSvgGenerator = new SVGGraphics2D(theDocument);
    RepaintManager theRepaintManager = RepaintManager.currentManager(aComponent);
    theRepaintManager.setDoubleBufferingEnabled(false);

    Dimension theSize = aComponent.getPreferredSize();
    aComponent.setSize(theSize);

    aComponent.paint(theSvgGenerator);
    Writer theWriter = new OutputStreamWriter(aStream, PlatformConfig.getXMLEncoding());
    theSvgGenerator.stream(theWriter, false);
    theRepaintManager.setDoubleBufferingEnabled(true);

    theWriter.flush();
    theWriter.close();
}
 
開發者ID:mirkosertic,項目名稱:ERDesignerNG,代碼行數:20,代碼來源:SVGExporter.java

示例8: generateSVG

import org.apache.batik.svggen.SVGGraphics2D; //導入方法依賴的package包/類
/**
 * Create a SVG image. The image handler will write all images files to
 * "res/images".
 *
 * @param p the drawable component.
 * @param outStream the the output stream.
 * @throws UnsupportedEncodingException error on unsupported encoding.
 * @throws SVGGraphics2DIOException error on error to conversion.
 */
private void generateSVG(Drawable p, OutputStream outStream) throws UnsupportedEncodingException, SVGGraphics2DIOException {
    DOMImplementation domImpl
            = GenericDOMImplementation.getDOMImplementation();
    String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
    Document myFactory = domImpl.createDocument(svgNS, "svg", null);
    SVGGeneratorContext ctx
            = SVGGeneratorContext.createDefault(myFactory);
    GenericImageHandler ihandler = new CachedImageHandlerPNGEncoder("res/images", null);
    ctx.setGenericImageHandler(ihandler);

    SVGGraphics2D svgGenerator = new SVGGraphics2D(ctx, false);

    TurtleState ts = new TurtleState();

    p.draw(svgGenerator, ts);
    // Create the SVG DOM tree.
    Writer out = new OutputStreamWriter(outStream, "UTF-8");
    svgGenerator.stream(out, true);
}
 
開發者ID:ZenHarbinger,項目名稱:torgo,代碼行數:29,代碼來源:LogoMenuBar.java

示例9: exportChartAsSVG

import org.apache.batik.svggen.SVGGraphics2D; //導入方法依賴的package包/類
/**
    * Export chart as svg.
    *
    * @param chart the chart
    * @param bounds the bounds
    * @param svgFile the svg file
    * @throws IOException Signals that an I/O exception has occurred.
    */
   private void exportChartAsSVG(JFreeChart chart, Rectangle bounds, File svgFile) throws IOException {
       // Get a DOMImplementation and create an XML document
       DOMImplementation domImpl =
           GenericDOMImplementation.getDOMImplementation();
       Document document = domImpl.createDocument(null, "svg", null);

       // Create an instance of the SVG Generator
       SVGGraphics2D svgGenerator = new SVGGraphics2D(document);

       // draw the chart in the SVG generator
       chart.draw(svgGenerator, bounds);

       // Write svg file
       OutputStream outputStream = new FileOutputStream(svgFile);
       Writer out = new OutputStreamWriter(outputStream, "UTF-8");
       svgGenerator.stream(out, true /* use css */);						
       outputStream.flush();
       outputStream.close();
}
 
開發者ID:mattmagic149,項目名稱:AnSoMia,代碼行數:28,代碼來源:NewsHistogram.java

示例10: exportSVGImage

import org.apache.batik.svggen.SVGGraphics2D; //導入方法依賴的package包/類
public static void exportSVGImage(PrintWriter pr, Component c) throws IOException {

        // Get a DOMImplementation.
        DOMImplementation domImpl = GenericDOMImplementation.getDOMImplementation();

        // Create an instance of org.w3c.dom.Document.
        String svgNS = "http://www.w3.org/2000/svg";
        Document document = domImpl.createDocument(svgNS, "svg", null);

        // Create an instance of the SVG Generator.
        SVGGraphics2D svgGenerator = new SVGGraphics2D(document);
        c.paint(svgGenerator);

        // Finally, stream out SVG to the standard output using
        // UTF-8 encoding.
        svgGenerator.stream(pr, false);
    }
 
開發者ID:REDetector,項目名稱:RED,代碼行數:18,代碼來源:SvgGenerator.java

示例11: export

import org.apache.batik.svggen.SVGGraphics2D; //導入方法依賴的package包/類
@Override
public boolean export(RepresentableNetwork net, NetworkStyle style, File output) throws IOException {
	//Initializes SVG file
	DOMImplementation domImpl = GenericDOMImplementation.getDOMImplementation();
	String svgNS = "http://www.w3.org/2000/svg";
	Document document = domImpl.createDocument(svgNS, "svg", null);
	SVGGraphics2D svgGenerator = new SVGGraphics2D(document);
	
	/*
	 * Convert canvas
	 */
	//Canvas style
	renderCanvas(net, style, svgGenerator);
	
	//Render edges and nodes
	renderEdges(net, style, svgGenerator);
	renderNodes(net, style, svgGenerator);
	
	//Write the SVG file
	Writer out = new OutputStreamWriter(new FileOutputStream(output), "UTF-8");
	svgGenerator.stream(out, false);
	
	return true;
}
 
開發者ID:PanierAvide,項目名稱:OpenNetworkMap,代碼行數:25,代碼來源:SVGExporter.java

示例12: saveToSVG

import org.apache.batik.svggen.SVGGraphics2D; //導入方法依賴的package包/類
/**
 * Parses a mathematical formula like "(a+b)/c" to a pretty image and saves
 * it as an SVG file.
 * 
 * @param formula A raw formula input String.
 * @param file The SVG file to save to.
 * @throws ParseException When parsing the LaTeX formula failed.
 * @throws IOException When writing the file failed.
 * @throws DetailedParseCancellationException When parsing the raw formula to
 * LaTeX failed.
 */
public static void saveToSVG(String formula, File file)
        throws ParseException, IOException, DetailedParseCancellationException {
      String latexFormula = FormulaParser.parseToLatex(formula);
      TeXIcon icon = FormulaParser.getTeXIcon(latexFormula);
      
      DOMImplementation domImpl = SVGDOMImplementation.getDOMImplementation();
      Document document =domImpl.createDocument(
              SVGDOMImplementation.SVG_NAMESPACE_URI, "svg", null);
      SVGGeneratorContext ctx = SVGGeneratorContext.createDefault(document);
      
      SVGGraphics2D g2 = new SVGGraphics2D(ctx, true);
      g2.setSVGCanvasSize(new Dimension(icon.getIconWidth(),icon.getIconHeight()));
      
      icon.paintIcon(null, g2, 0, 0);

      try (FileOutputStream svgs = new FileOutputStream(file)) {
         Writer out = new OutputStreamWriter(svgs, "UTF-8");
         g2.stream(out, false);
         svgs.flush();
      }
 }
 
開發者ID:mzur,項目名稱:pretty-formula,代碼行數:33,代碼來源:FormulaParser.java

示例13: exportChartAsSVG

import org.apache.batik.svggen.SVGGraphics2D; //導入方法依賴的package包/類
/**
 * Exports a JFreeChart to a SVG file using the
 * <a href= "http://xmlgraphics.apache.org/batik/" target="_blank">Batik SVG
 * Toolkit</a>, bundled with Fiji. This method is taken from
 * {@literal http://dolf.trieschnigg.nl/jfreechart/}
 *
 * @param chart
 *            the <a href= "http://javadoc.imagej.net/JFreeChart/" target=
 *            "_blank">JFreeChart </a> to export.
 * @param bounds
 *            the Rectangle delimiting the boundaries within which the chart
 *            should be drawn.
 * @param file
 *            the output (destination) file.
 * @throws IOException
 *             if writing to output file fails.
 * @see #exportChartAsSVG(JFreeChart, Rectangle)
 * @see #exportChartAsPDF(JFreeChart, Rectangle)
 * @see #exportChartAsPDF(JFreeChart, Rectangle, File)
 */
public static void exportChartAsSVG(final JFreeChart chart, final Rectangle bounds, final File file)
		throws IOException {

	// Get a DOMImplementation and create an XML document
	final DOMImplementation domImpl = GenericDOMImplementation.getDOMImplementation();
	final org.w3c.dom.Document document = domImpl.createDocument(null, "svg", null);

	// Create an instance of the SVG Generator
	final SVGGraphics2D svgGenerator = new SVGGraphics2D(document);

	// draw the chart in the SVG generator
	chart.draw(svgGenerator, bounds);

	// Write svg file
	final OutputStream outputStream = new FileOutputStream(file);
	final Writer out = new OutputStreamWriter(outputStream, "UTF-8");
	svgGenerator.stream(out, true /* use css */);
	outputStream.flush();
	outputStream.close();
}
 
開發者ID:tferr,項目名稱:Scripts,代碼行數:41,代碼來源:PlotUtils.java

示例14: exportSVG

import org.apache.batik.svggen.SVGGraphics2D; //導入方法依賴的package包/類
public void exportSVG() throws IOException {
    // Get a DOMImplementation.
    DOMImplementation domImpl =
      GenericDOMImplementation.getDOMImplementation();

    // Create an instance of org.w3c.dom.Document.
    String svgNS = "http://www.w3.org/2000/svg";
    Document document = domImpl.createDocument(svgNS, "svg", null);

    // Paint application to SVG structure.
    SVGGraphics2D svgGenerator = new SVGGraphics2D(document);
    rootPanel.paint(svgGenerator);
    
    // Target file via dialog.
    final JFileChooser fileChooser = new JFileChooser();
    fileChooser.setName("Export SVG");
    fileChooser.setSelectedFile(new File("eXamine_export.svg"));
    int fileConfirm = fileChooser.showSaveDialog(rootPanel);

    // Output to valid file.
    if(fileConfirm == JFileChooser.APPROVE_OPTION) {
        boolean useCSS = true; // we want to use CSS style attributes
        Writer out = new FileWriter(fileChooser.getSelectedFile());
        svgGenerator.stream(out, useCSS);
    }
}
 
開發者ID:ls-cwi,項目名稱:eXamine,代碼行數:27,代碼來源:Application.java

示例15: SVGGraphics2D

import org.apache.batik.svggen.SVGGraphics2D; //導入方法依賴的package包/類
public void 字組成svg(String 組字式, OutputStream 輸出檔案)
		throws UnsupportedEncodingException, SVGGraphics2DIOException
{
	DOMImplementation domImpl = GenericDOMImplementation
			.getDOMImplementation();

	// Create an instance of org.w3c.dom.Document.
	String svgNS = "http://www.w3.org/2000/svg";
	Document document = domImpl.createDocument(svgNS, "svg", null);

	boolean useCSS = true; // we want to use CSS style
							// attributes
	// Create an instance of the SVG Generator.
	SVGGraphics2D svgGenerator = new SVGGraphics2D(document);
	svgGenerator.setSVGCanvasSize(new Dimension(字型大細, 字型大細));
	組字(組字式, svgGenerator);
	OutputStreamWriter svgOutput = new java.io.OutputStreamWriter(輸出檔案,
			"UTF-8");
	svgGenerator.stream(svgOutput, useCSS);
	return;
}
 
開發者ID:sih4sing5hong5,項目名稱:han3_ji7_tsoo1_kian3,代碼行數:22,代碼來源:IDSrendService.java


注:本文中的org.apache.batik.svggen.SVGGraphics2D.stream方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。