Linie mit Rand zeichnen

Status
Nicht offen für weitere Antworten.

newnoise

Mitglied
Hallo,

hat Java eine Methode um eine Linie mit Rand zu zeichnen?
Wenn ja, wo?
Gibt es sonst eine gute OpenSource Graphik Lib die sowas kann?
Google hat mir nicht geholfen ..

Danke!
noise
 

newnoise

Mitglied
ja so mache ich es immoment. aber es sieht nicht immer schoen aus.
dachte da haette jemand schonmal was gemacht evtl. der es etwas besser kann als ich ;)

danke trotzdem schonmal
 

javimka

Top Contributor
Vielleicht sieht es Anti-Aliased besser aus. Setze Mal folgenden Befehl vorne dran:
Java:
Graphics2D g2 = (Graphics2D)g;
   g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                        RenderingHints.VALUE_ANTIALIAS_ON);
Und dann auf g2 zeichnen.
 
S

Spacerat

Gast
Ich glaub' ne Lib wirst du dafür kaum finden, weil Graphics2D (also sprich die Java2D-API) das alles schon mitbringt. Dem JDK liegt ein Java2D-Demo inklusive Quelltext bei. Mit Sicherheit findet sich dort auch ein Ansatz dazu, wie auch deine Linien irgendwann besser aussehen. Einfach mal ansehen und mit den interessanten Stellen im Quelltext ein bissl experimentieren.
 

newnoise

Mitglied
also ich mache das immoment so:

Java:
	private void drawLineWithBorder(int x1, int y1, int x2, int y2, 
			int size, int borderSize, Color innerColor, Color borderColor, Graphics2D g) {			
        
		Graphics2D temp = g;
		
		Stroke stroke = new BasicStroke(size, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND);
        g.setStroke(stroke);
		g.setColor(borderColor);
		
		g.drawLine(x1, y1, x2, y2);
		
		Stroke stroke2 = new BasicStroke(size - (borderSize * 2), BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND);
        g.setStroke(stroke2);
		g.setColor(innerColor);
        
		g.drawLine((x1 - borderSize), (y1 - borderSize), (x2 + borderSize), (y2 + borderSize));
		
		g = temp;
	}

aber das sieht echt nicht schön aus.
hat da jemand noch ne idee zu?

vielen dank!
 
Zuletzt bearbeitet:
S

Spacerat

Gast
Ja... ich hätte da eine...
Ich hab' deine Methode jetzt nicht durchgetestet, aber ich nehme mal an, dass sie mit horizontalen und vertikalen Linien funktioniert. Für alle naneder Linien passen nämlich Start- und Endpunkt der Inneren nicht mehr, weil diese immer noch um einen 90° Vektor verschoben werden, weil [c]bordersize[/c] direkt verwendet wird. [c]bordersize[/c] müsste nämlich für beide Koordinaten im Verhältnis der Liniensteigung neu berechnet werden. Aber möglicherweise zeichnet er die innere Linie auch korrekt, wenn man es ganz weglässt.
 

newnoise

Mitglied
wie ist das denn in java, ist die startkoordinate die man angibt der obere punkt der linie dann?
also bei x1 = 3 und y1 = 3 und einer liniendicke von 4. geht dann die "linien-breiten-gerade" von 3,3 nach 3,7 bei einer horizontalen?
und bei linien mit winkel dann jeweils irgendwie in dem winkel verschoben?

danke
 
S

Spacerat

Gast
Also wenn man die Bordersize weglässt, bekommt die Linie rechts und links egal in welcher Lage einen gleichmässigen Rand. Wenn man also am Beginn und am Ende auch noch Ränder haben will, wird man wohl um die Berechnung der Start- und Endpunkte der inneren Linie nicht drum herum kommen. Jedoch genügt es nicht, schlicht die Bordersize zu addieren bzw. zu subtrahieren.
 

newnoise

Mitglied
ah. perfekt. ich dachte halt nicht, dass der den punkt mittelt quasi ..., sondern das die eck-koordinaten der linie angegeben werden!

danke
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Punkt auf Linie Spiele- und Multimedia-Programmierung 5
A Verpixelte Linie Spiele- und Multimedia-Programmierung 1
aze Schnittmenge zwischen Linie und einer Area wegschneiden Spiele- und Multimedia-Programmierung 3
L Kreis auf Linie platzieren (-> Koordinatentransformation?) Spiele- und Multimedia-Programmierung 7
Developer_X Colisionserkennung Punkt -> Linie || Linie -> Linie Spiele- und Multimedia-Programmierung 5
M Linie - kurvige Linie Kollisonserkennung bei Polygonen Spiele- und Multimedia-Programmierung 8
B Linie verankern in Java3D Spiele- und Multimedia-Programmierung 2
G Linie im Applet zeichnen Spiele- und Multimedia-Programmierung 5
P linie in bild zeichnen Spiele- und Multimedia-Programmierung 2
H Eine gestrichelte Linie Spiele- und Multimedia-Programmierung 3
O Beschriftete Linie in Java 2D Spiele- und Multimedia-Programmierung 9
M JOGL Cubus mit Rand darstellen Spiele- und Multimedia-Programmierung 3
E relevanter bereich einer isometrischen karte zeichnen (AffineTransform) Spiele- und Multimedia-Programmierung 0
SaftigMelo Kreissegment zeichnen Spiele- und Multimedia-Programmierung 2
E Buttons neu zeichnen im GridLayout Spiele- und Multimedia-Programmierung 2
A Zeichnen außerhalb der paint-Methode Spiele- und Multimedia-Programmierung 6
E Isometrische Tiles mit unterschiedlicher Größe an korrekter Position zeichnen Spiele- und Multimedia-Programmierung 1
Androbin Mein Spiel will sich nicht zeichnen lassen !!! Spiele- und Multimedia-Programmierung 7
J Int Wert auf JFrame zeichnen Spiele- und Multimedia-Programmierung 3
H [ANIMATION] Hintergrundbild nur einmal zeichnen Spiele- und Multimedia-Programmierung 3
R [lwjgl] Cursor -> versetzt Zeichnen / Bild ist umgedreht Spiele- und Multimedia-Programmierung 2
M Methoden eine Map zu zeichnen Spiele- und Multimedia-Programmierung 5
aze Nicht rechteckiges Bild zeichnen Spiele- und Multimedia-Programmierung 5
F nur Ausschnitt eines Image zeichnen Spiele- und Multimedia-Programmierung 9
T 3D Graphen Zeichnen Spiele- und Multimedia-Programmierung 19
F Kurven zeichnen Spiele- und Multimedia-Programmierung 2
E Keine Werte zum Zeichnen werden Übergeben Spiele- und Multimedia-Programmierung 3
A Halbkreise zeichnen lassen? Spiele- und Multimedia-Programmierung 2
F Lineal mit Zahlen zeichnen Spiele- und Multimedia-Programmierung 7
A Mehrere geometrische Objekte in JPanel zeichnen Spiele- und Multimedia-Programmierung 4
A Optimiertes Zeichnen - wie? Spiele- und Multimedia-Programmierung 8
data89 Koordinaten in Koordinatensystem zeichnen Spiele- und Multimedia-Programmierung 11
M Binärbaum ohne Überlappung zeichnen Spiele- und Multimedia-Programmierung 3
H Decke zeichnen mit Hilfe eines Polygons Spiele- und Multimedia-Programmierung 2
B 1)JButtons zeichnen 2)Kolisionsabfrage von zwei Objekten Spiele- und Multimedia-Programmierung 9
G Schüsse zeichnen, Fehler? Spiele- und Multimedia-Programmierung 3
S Dreieck zeichnen Spiele- und Multimedia-Programmierung 9
G Überlagern von Strings beim zeichnen verhindern Spiele- und Multimedia-Programmierung 3
C Objekt bei Buttonklick zeichnen Spiele- und Multimedia-Programmierung 16
G Geschwungene Klammer zeichnen Spiele- und Multimedia-Programmierung 5
F Neu zeichnen verhindern Spiele- und Multimedia-Programmierung 25
J Zeichnen in BufferedImage und dieses in Datei speichern Spiele- und Multimedia-Programmierung 2
O Funktion zeichnen Spiele- und Multimedia-Programmierung 11
A Lissajous Figuren zeichnen Spiele- und Multimedia-Programmierung 1
G Maus springt --> Free-Hand-Zeichnen Spiele- und Multimedia-Programmierung 2
L Schüsse zeichnen Spiele- und Multimedia-Programmierung 13
M Eigene Strings zeichnen Spiele- und Multimedia-Programmierung 4
T Blitz berechnen und zeichnen Spiele- und Multimedia-Programmierung 13
M auswahlkreis zeichnen (schräg) Spiele- und Multimedia-Programmierung 4
N Logik: Grenz-/Frontlinie zeichnen Spiele- und Multimedia-Programmierung 4
M Grafikprogramm, zeichnen mit Maus Spiele- und Multimedia-Programmierung 7
G Problem beim Zeichnen von LineArrays Spiele- und Multimedia-Programmierung 9
G Auf 3D Box zeichnen Spiele- und Multimedia-Programmierung 4
K mit Canvas übereinander zeichnen Spiele- und Multimedia-Programmierung 4
G 3D Raum zeichnen Spiele- und Multimedia-Programmierung 7
H Kreis zeichnen mittels Schleife & drawLine Spiele- und Multimedia-Programmierung 4
B Probleme beim zeichnen Spiele- und Multimedia-Programmierung 15
N Bild zu zeichnen (drawImage) klappt nur manchmal?? Spiele- und Multimedia-Programmierung 8
T Effizient zeichnen Spiele- und Multimedia-Programmierung 12
H mit Java2D Markierung über JTable zeichnen und diese bewegen Spiele- und Multimedia-Programmierung 2
C Graphische Benutzerschnittstelle, Problem beim Zeichnen Spiele- und Multimedia-Programmierung 4
J schnellste alternative um in java zu "zeichnen" Spiele- und Multimedia-Programmierung 17
conan2 Objekte in richtiger Z-Reihenfolge zeichnen Spiele- und Multimedia-Programmierung 2
G Punkte in Java3D zeichnen Spiele- und Multimedia-Programmierung 2
S Pixel zeichnen Spiele- und Multimedia-Programmierung 3
S Bild in Speicherbild zeichnen = Nichts? Spiele- und Multimedia-Programmierung 3
G Farbig zeichnen ohne java.awt.Color? Spiele- und Multimedia-Programmierung 5
S Wie kann ich das Zeichnen der Grafik feiner machen? Spiele- und Multimedia-Programmierung 9
M Wie kann man Kreisringe zeichnen ? Spiele- und Multimedia-Programmierung 12
C Graphics 2D Zeichnen Spiele- und Multimedia-Programmierung 4
R Kreuz lässt sich nicht zeichnen Spiele- und Multimedia-Programmierung 11
F einzelne Polygone(Graphics) schneller als and. Fig. zeichnen Spiele- und Multimedia-Programmierung 3
K Kugeln und Zylinder zeichnen Spiele- und Multimedia-Programmierung 4
L ein Rechteck zeichnen Spiele- und Multimedia-Programmierung 6

Ähnliche Java Themen

Neue Themen


Oben