Convertir au format SVG
Transcoder
Image
Transcoder API est une API qui permet de convertir un flux entrant ou
un document dans un format particulier de sortie. On utilise le
package « org.apache.batik.transcoder.image »
qui fournit des
transcodeurs pour convertir un document SVG ou un fragment de ce
document en une image dans un format tel que PNG, JPEG, ...
De plus, cette API permet de convertir un DOM Tree en une image.
Exemple : convertir entièrement une image « SaveAsJPEG.java »
import
java.io.*;
import
org.apache.batik.transcoder.image.JPEGTranscoder;
import
org.apache.batik.transcoder.TranscoderInput;
import
org.apache.batik.transcoder.TranscoderOutput;
public
class SaveAsJPEG {
public
static
void main(String[]
args) throws
TranscoderException, IOException
{
//
Création du « JPEG transcoder »
JPEGTranscoder
t =
new JPEGTranscoder();
//
définition des paramètres de transcodage
t.addTranscodingHint(JPEGTranscoder.KEY_QUALITY,
new
Float(.8));
//
création du « input »
String
svgURI =
new
File(args[0]).toURL().toString();
TranscoderInput
input =
new TranscoderInput(svgURI);
//
création du « output »
OutputStream
ostream =
new FileOutputStream("out.jpg");
TranscoderOutput
output =
new TranscoderOutput(ostream);
//
sauvegarde de l'image
t.transcode(input,
output);
//
fermeture des flux
ostream.flush();
ostream.close();
System.exit(0);
}
}
Pour exécuter le fichier : java SaveAsJPEG asf-logo.svg
Vous obtenez un fichier « out.jpg ».
Exemple : convertir une image par morceaux « SaveAsJPEGTiles.java »
Pour convertir par morceaux, il suffit de modifier les paramètres de transcodage (JPEGTranscoder.addTranscodingHint()).
En cliquant ici, vous aurez un exemple d'un fichier SVG qui sera convertit en 4 images JPEG.
Exemple : générer une image à partir d'un DOM Tree
On
utilise cette fois ci un autre constructeur :
TranscoderInput(org.w3c.dom.Document document).
Pour un exemple de code, cliquez ici.