[ 
https://issues.apache.org/jira/browse/BATIK-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

keyingbo updated BATIK-1064:
----------------------------

    Description: 
code:
        public static void svgToPng(String svgPath, String pngFile) throws 
Exception {
                File svg = new File(svgPath);
                FileInputStream wmfStream = new FileInputStream(svg);
                ByteArrayOutputStream imageOut = new ByteArrayOutputStream();
                int noOfByteRead = 0;
                while ((noOfByteRead = wmfStream.read()) != -1) {
                        imageOut.write(noOfByteRead);
                }
                imageOut.flush();
                imageOut.close();
                wmfStream.close();

                ByteArrayOutputStream jpg = new ByteArrayOutputStream();
                FileOutputStream jpgOut = new FileOutputStream(pngFile);

                byte[] bytes = imageOut.toByteArray();
                PNGTranscoder t = new PNGTranscoder();
                TranscodingHints hints = new TranscodingHints();
                ///hints.put(WMFTranscoder.KEY_INPUT_HEIGHT, 1000);
                //hints.put(WMFTranscoder.KEY_INPUT_WIDTH, 8000);
                //hints.put(WMFTranscoder.KEY_WIDTH, 800);
            // hints.put(WMFTranscoder.KEY_HEIGHT, 600);
            //t.setTranscodingHints(hints);
                TranscoderInput in = new TranscoderInput(new 
ByteArrayInputStream(bytes));
                TranscoderOutput out = new TranscoderOutput(jpg);
                t.transcode(in, out);
                jpgOut.write(jpg.toByteArray());
                jpgOut.flush();
                jpgOut.close();
                imageOut = null;
                jpgOut = null;
        }

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
        at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:41)
        at 
java.awt.image.SinglePixelPackedSampleModel.createDataBuffer(SinglePixelPackedSampleModel.java:220)
        at java.awt.image.Raster.createWritableRaster(Raster.java:938)
        at 
org.apache.batik.gvt.renderer.StaticRenderer.updateWorkingBuffers(Unknown 
Source)
        at org.apache.batik.gvt.renderer.StaticRenderer.repaint(Unknown Source)
        at org.apache.batik.gvt.renderer.StaticRenderer.repaint(Unknown Source)
        at org.apache.batik.transcoder.image.ImageTranscoder.transcode(Unknown 
Source)
        at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(Unknown 
Source)
        at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(Unknown 
Source)
        at cn.qtone.xxt.tools.Wmf2Png.svgToPng(Wmf2Png.java:149)
        at cn.qtone.xxt.tools.Wmf2Png.convert(Wmf2Png.java:56)
        at cn.qtone.xxt.tools.Wmf2Png.main(Wmf2Png.java:34)

  was:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
        at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:41)
        at 
java.awt.image.SinglePixelPackedSampleModel.createDataBuffer(SinglePixelPackedSampleModel.java:220)
        at java.awt.image.Raster.createWritableRaster(Raster.java:938)
        at 
org.apache.batik.gvt.renderer.StaticRenderer.updateWorkingBuffers(Unknown 
Source)
        at org.apache.batik.gvt.renderer.StaticRenderer.repaint(Unknown Source)
        at org.apache.batik.gvt.renderer.StaticRenderer.repaint(Unknown Source)
        at org.apache.batik.transcoder.image.ImageTranscoder.transcode(Unknown 
Source)
        at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(Unknown 
Source)
        at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(Unknown 
Source)
        at cn.qtone.xxt.tools.Wmf2Png.svgToPng(Wmf2Png.java:149)
        at cn.qtone.xxt.tools.Wmf2Png.convert(Wmf2Png.java:56)
        at cn.qtone.xxt.tools.Wmf2Png.main(Wmf2Png.java:34)


> a bug that is using PNGTranscoder transfer the svg to png.
> ----------------------------------------------------------
>
>                 Key: BATIK-1064
>                 URL: https://issues.apache.org/jira/browse/BATIK-1064
>             Project: Batik
>          Issue Type: Bug
>          Components: SVG Rasterizer
>    Affects Versions: 1.7
>         Environment: jdk 1.6 
>            Reporter: keyingbo
>              Labels: OutOfMemoryError, PNGTranscoder
>             Fix For: 1.7
>
>         Attachments: 7cd55.svg
>
>   Original Estimate: 1m
>  Remaining Estimate: 1m
>
> code:
>       public static void svgToPng(String svgPath, String pngFile) throws 
> Exception {
>               File svg = new File(svgPath);
>               FileInputStream wmfStream = new FileInputStream(svg);
>               ByteArrayOutputStream imageOut = new ByteArrayOutputStream();
>               int noOfByteRead = 0;
>               while ((noOfByteRead = wmfStream.read()) != -1) {
>                       imageOut.write(noOfByteRead);
>               }
>               imageOut.flush();
>               imageOut.close();
>               wmfStream.close();
>               ByteArrayOutputStream jpg = new ByteArrayOutputStream();
>               FileOutputStream jpgOut = new FileOutputStream(pngFile);
>               byte[] bytes = imageOut.toByteArray();
>               PNGTranscoder t = new PNGTranscoder();
>               TranscodingHints hints = new TranscodingHints();
>               ///hints.put(WMFTranscoder.KEY_INPUT_HEIGHT, 1000);
>               //hints.put(WMFTranscoder.KEY_INPUT_WIDTH, 8000);
>               //hints.put(WMFTranscoder.KEY_WIDTH, 800);
>           // hints.put(WMFTranscoder.KEY_HEIGHT, 600);
>           //t.setTranscodingHints(hints);
>               TranscoderInput in = new TranscoderInput(new 
> ByteArrayInputStream(bytes));
>               TranscoderOutput out = new TranscoderOutput(jpg);
>               t.transcode(in, out);
>               jpgOut.write(jpg.toByteArray());
>               jpgOut.flush();
>               jpgOut.close();
>               imageOut = null;
>               jpgOut = null;
>       }
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
>       at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:41)
>       at 
> java.awt.image.SinglePixelPackedSampleModel.createDataBuffer(SinglePixelPackedSampleModel.java:220)
>       at java.awt.image.Raster.createWritableRaster(Raster.java:938)
>       at 
> org.apache.batik.gvt.renderer.StaticRenderer.updateWorkingBuffers(Unknown 
> Source)
>       at org.apache.batik.gvt.renderer.StaticRenderer.repaint(Unknown Source)
>       at org.apache.batik.gvt.renderer.StaticRenderer.repaint(Unknown Source)
>       at org.apache.batik.transcoder.image.ImageTranscoder.transcode(Unknown 
> Source)
>       at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(Unknown 
> Source)
>       at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(Unknown 
> Source)
>       at cn.qtone.xxt.tools.Wmf2Png.svgToPng(Wmf2Png.java:149)
>       at cn.qtone.xxt.tools.Wmf2Png.convert(Wmf2Png.java:56)
>       at cn.qtone.xxt.tools.Wmf2Png.main(Wmf2Png.java:34)



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to