2017-10-12 13 views
-6

Bien que j'aie une question très simple, je n'ai trouvé aucune bonne réponse.Générer une image SVG en Java

Je voudrais écrire un programme (en Java) pour créer une image SVG.

Par exemple je voudrais créer un fichier SVG qui contiendrait un cercle rouge avec un rayon défini.

Je serais vraiment reconnaissant si quelqu'un pouvait m'aider à trouver un tutoriel pour ce genre de travail. J'ai passé beaucoup de temps à chercher mais je n'ai rien trouvé. (Peut-être que j'utilise mauvais mots-clés ou quelque chose ...)

Merci

+1

Les questions qui nous demandent de recommander ou de trouver un livre, un outil, une ** bibliothèque de logiciels **, un didacticiel ou autre ressource hors site sont hors sujet pour Stack Overflow car elles ont tendance à attirer les réponses avisées et le spam. – GhostCat

+0

vous pouvez utiliser ImageIO pour générer l'image. essayez-vous de convertir une image en svg? Ou voulez-vous générer une autre image différente? – Lokesh

+1

Essayez [batik] (https://xmlgraphics.apache.org/batik/) –

Répondre

-1

Tout d'abord, vous devez apprendre ce Scalable Vector Graphics sont et comment vous pouvez les créer en général. Ce tutoriel peut vous aider à entrer dans ce sujet: https://www.w3schools.com/graphics/svg_intro.asp

Pour créer un SVG en Java, vous devez savoir sur E/S Méthodes Java: https://docs.oracle.com/javase/tutorial/essential/io/file.html

Mais l'étape la plus importante est d'essayer par vous-même et Ne demandez pas simplement aux gens de faire des choses pour vous!

2

Cela dépend de vos besoins supplémentaires. Les fichiers SVG sont des fichiers XML, ils sont donc simplement des fichiers texte. Vous pouvez les créer avec l'une des méthodes d'E/S standard. Par exemple, ce programme Java répond à votre question:

public static void main(String[] args){ 
    System.out.println("<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"100\" height=\"100%\">"); 
    System.out.println("<circle cx=\"50\" cy=\"50\" r=\"30\" fill=\"red\">"); 
    System.out.println("</svg>"); 
} 

Peut-être que vous voulez créer et manipuler des objets DOM, semblable à la façon dont vous le faites en Javascript. Si tel est le cas, vous pouvez essayer la bibliothèque Apache Batik. Vous devriez être en mesure de trouver de nombreux tutoriels sur la façon d'utiliser cela, à la fois ici sur SO, et ailleurs sur le web.