# Vektorgrafik in Java



## bristtote (22. Jun 2006)

Hallo Leute,

gibt es denn Programme, die es ermöglichen eine Zeichnung als Vektorgraphik zu zeichnen und dann von Java auswerten zu lassen.
Also, nehmen wir mal an ich habe eine Zeichnung, worauf einige Rechtecke und Kreise sind. In Java soll dann jeder Rechteck und Kreis adressierbar sein. Zum Beispiel soll durch einen Button-Klick die Farbe des Recheckes sich ändern oder es wird etwas auf einem Label ausgegeben.


----------



## Wildcard (22. Jun 2006)

Was meinst du denn mit 'von Java auswerten zu lassen'?
Willst du so ein Programm schreiben, oder eins haben?


----------



## bristtote (22. Jun 2006)

Ich möchte so ein Programm haben. Ehrlich gesagt, weiss ich auch nicht genau, was damit gemeint ist. Es ist so, ich habe vor auf dem Applet etwas zu zeichnen und zwar genauer gesagt mit Hilfe von Canvas. So, die Zeichnung soll aus mehreren Objekten bestehen, wie Rechtecke und Kreise. Wie ich schon erwähnt habe, sollen diese dann einzeln ansprechbar sein. Ich hatte vor es mit paint(Graphics g, Point starposition), Canvas und ohne Layoutmanager ( Layout eines Panels soll also auf null gesetzt werden)zu machen. Ein Freund sagte mir es ist aber effektiver es mit  "einem Programm als Vektorgraphik zu zeichnen und dann von Java auswerten zu lassen.." Ich weiss jetzt selbst nicht, was und wie es genau gemeint war.


----------



## Wildcard (22. Jun 2006)

Tja, du kannst natürlich einen Importer für Corel-Datein schreiben, aber der Sinndes ganzen bleibt mir verborgen.
Ein (benutzbares)Vektorgrafik-Programm selbst zu schreiben ist übrigens alles andere als trivial.
Nimm dir also nicht zuviel vor wenn du noch nicht wirklich vertraut mit AWT/Swing bist.


----------



## bristtote (22. Jun 2006)

Naja, wenn ich mir das durch den Kopf gehen lassen, dann wird mir glaube ich langsma klar, was er meinte. Also, wenn Du viele Objekte zu zeichnen hast, dann ist es natürlich sehr aufwendig jeden Strich und Faden zu zeichnen, aber wenn man es dann in einem Vektor-Programm zeichnet, geht schneller und es ist dann nicht so aufwendig. Das ist das, was er meinte. Aber wie es genau gehen soll, ist mir ein Rätsel. Vorallem habe ich kaum Ahnung von Awt  :? 

Ich habe eben recheriert und es gibt da einiges, aber ich weiss nicht in wieweit ich damit weiterkommen kann:

Batik SVG Toolkit  oder SVG and ILOG JViews Component Suite oder dan gibt es die Klasse Class JSVGCanvas. 

Aber, gehen wir mal weg von Vektor-Programmen. Kann das, was ich vorhatte mit Pixel-Programmen tun oder ist das alles nach Deiner Meinung unsinnig und ich sollte alles per Hand zeichnen?

Vielen Dank übrigens für Deine Hilfe, Du hast mir in letzter Zeit mehrmals aus der Patsche geholfen, wildcard.


----------



## Wildcard (22. Jun 2006)

Mir ist immer noch nicht klar was du eigentlich möchtest.
So wie ich dich verstehe möchtest du ein Applet schreiben mit dem man Kreise und Rechtecke erstellt, die man anklicken und verändern kann?
Da kommt schonmal von vornherein nur der Vektor Ansatz in betracht, aber was meinst du jetzt mit 'per Hand zeichnen'?
Oder verstehe ich das ganz falsch und du willst nur irgendwo eine Grafik anzeigen die von einem anderen Programm erstellt wurde?


----------



## bristtote (22. Jun 2006)

Wildcard hat gesagt.:
			
		

> Mir ist immer noch nicht klar was du eigentlich möchtest.
> So wie ich dich verstehe möchtest du ein Applet schreiben mit dem man Kreise und Rechtecke erstellt, die man anklicken und verändern kann?



Ja, sowas in der Art wollte ich realisieren. Aber die Rechtecke und Kreise sollen nicht selbst anlickbar sollen, sondern über einen Button veränderbar sein. Mit per Hand zeichnen meinte ich eigentlich nur, dass ich halt jeden Strich mit Paint zeichnen muss.





			
				Wildcard hat gesagt.:
			
		

> Da kommt schonmal von vornherein nur der Vektor Ansatz in betracht, aber was meinst du jetzt mit 'per Hand zeichnen'?
> Oder verstehe ich das ganz falsch und du willst nur irgendwo eine Grafik anzeigen die von einem anderen Programm erstellt wurde?



Und wie soll ich dann hier Vektor einsetzen?


----------



## Wildcard (22. Jun 2006)

Grundsätzlicher Ansatz:
Jedes Rechteck und jeder Kreis sind eigene Objekte die eine Position, eine Größe, einen Rand, eine Fläche und einen Radius(bzw länge und breite) haben. Jedes dieser Objekte sollte in der Lage sein sich selbst zu zeichnen.
Durch instanzieren solcher Objekte und das Platzieren auf dem Canvas/ der JComponent kannst du dann zeichnen.
Wie gesagt, etwas Verständnis von AWT/Swing sowie OOP ist definitiv erforderlich...


----------



## AlArenal (22. Jun 2006)

Mal zwei Stichworte:

SVG, Apache Batik


----------

