Bonsoir j'ai entrain de réaliser une petite interface qui ma permet d convertir un fichier SVG a une image et l'affichier en Frame j'utilise la bibliothéque Batik pour transcoder svg en image JPEG et de l'afficher en utilisant BufferedImage voila ce que j'ai fait mais j'ai des exception mercii de votre aide
BufferedImage
package panel;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.MalformedURLException;
import javax.imageio.ImageIO;
import org.apache.batik.transcoder.TranscoderException;
import org.apache.batik.transcoder.image.JPEGTranscoder;
import org.apache.batik.transcoder.TranscoderInput;
import org.apache.batik.transcoder.TranscoderOutput;
public class Panel extends javax.swing.JFrame{
public Panel() throws FileNotFoundException, MalformedURLException, TranscoderException, IOException{
// Create a JPEG transcoder
String svg_URI_input = new File("code.svg").toURL().toString();
TranscoderInput input_svg_image = new TranscoderInput(svg_URI_input);
//Step-2: Define OutputStream to JPG file and attach to TranscoderOutput
OutputStream jpg_ostream = new FileOutputStream("cc.jpg");
TranscoderOutput output_jpg_image = new TranscoderOutput(jpg_ostream);
// Step-3: Create JPEGTranscoder and define hints
JPEGTranscoder my_converter = new JPEGTranscoder();
my_converter.addTranscodingHint(JPEGTranscoder.KEY_QUALITY,new Float(.9));
my_converter.transcode(input_svg_image, output_jpg_image);
// Step 5- close / flush Output Stream
jpg_ostream.flush();
// jpg_ostream.close();
File img=new File("images.JPG");
BufferedImage buffImg = new BufferedImage(240,240,BufferedImage.TYPE_INT_ARGB);
buffImg = ImageIO.read(img);
javax.swing.JFrame f=new javax.swing.JFrame();
f.setVisible(true);
f.setSize(500, 300);
}
public static void main(String[] args) throws TranscoderException, MalformedURLException, IOException {
Panel p=new Panel();
}
}
Partager