2017-02-20 3 views
-2

여기에서 SVG 이미지를 로컬 서버로 보내려고하고 출력에서 ​​PNG/JPEG 형식으로 해당 이미지를 다운로드하려고합니다.서블릿으로 java에서 svg 이미지를 java로 변환

몇 가지 해결책을 찾았지만 BATIK 라이브러리에서 수행하지만 내 Eclipse BATIK 라이브러리에서는 지원되지 않으므로 바틱 라이브러리를 사용할 수 없습니다.

+2

코드를 게시하십시오. – techhunter

+0

이클립스 프로젝트 안에 lib라는 폴더를 만들고, lib 폴더에 BATIK 라이브러리를 복사하고, 라이브러리의 "jar"를 오른쪽 클릭하고 buildpath에 -> add를 선택하십시오. –

+0

선생님, 어디에서 바틱 라이브러리를 찾을 수 있습니까 ??? @krzysztof Cichocki –

답변

2

바틱 라이브러리를 사용하십시오. 아래는 tghe 코드입니다.

import java.io.*; 
    import org.apache.batik.transcoder.image.PNGTranscoder; 
    import org.apache.batik.transcoder.TranscoderInput; 
    import org.apache.batik.transcoder.TranscoderOutput; 
    import java.nio.file.Paths; 
    import java.nio.file.Path; 
    public class svg2png { 
     public static void main(String[] args) throws Exception { 
      //Step -1: We read the input SVG document into Transcoder Input 
      //We use Java NIO for this purpose 
      String svg_URI_input = Paths.get("chessboard.svg").toUri().toURL().toString(); 
      TranscoderInput input_svg_image = new TranscoderInput(svg_URI_input);   
      //Step-2: Define OutputStream to PNG Image and attach to TranscoderOutput 
      OutputStream png_ostream = new FileOutputStream("chessboard.png"); 
      TranscoderOutput output_png_image = new TranscoderOutput(png_ostream);    
      // Step-3: Create PNGTranscoder and define hints if required 
      PNGTranscoder my_converter = new PNGTranscoder();   
      // Step-4: Convert and Write output 
      my_converter.transcode(input_svg_image, output_png_image); 
      // Step 5- close/flush Output Stream 
      png_ostream.flush(); 
      png_ostream.close();   
     } 
} 

희망이 있으면 도움이 될 것입니다. http://thinktibits.blogspot.com/2012/12/Batik-Convert-SVG-PNG-Java-Program-Example.html

+0

나는 또한이 코드가 있지만 일식에 바틱 라이브러리의 오류가 있습니다. BATIK 라이브러리가 지원됩니다. 어떻게해야합니까? –

+0

버전 호환성을 확인하십시오. https://www.java-forums.org/new-java/34405-installing-batik-use-eclipse.html – techhunter

+0

도 참조하십시오. https://xmlgraphics.apache.org/batik/ – techhunter

0

또한 틱 트랜스 코더를 사용하지 않고 형식을 PNG로 SVG를 변환 할 수 있습니다

는이 참조하십시오. 아래 링크를 따라 https://nupur28ag.blogspot.in/

BufferedImage input_image = null; 
input_image = ImageIO.read(new File("Convert_to_PNG.svg")); //read svginto input_image object 
File outputfile = new File("imageio_png_output.png"); //create new outputfile object 
ImageIO.write(input_image, "PNG", outputfile); 

을 단순히 ImageIO 라이브러리를 사용하여. 희망이 도움이 될 것입니다!

+0

이 코드는 작동하지 않습니다. –