| 

.NET C# Java Javascript Exception

1
Wie kann man in JavaME linien mit einer bestimmten dicke zeichnen?

Übersaschenderweise kann man mit der JavaME API nicht die Dicke der zu zeichnenden Linien einstellen. Man kann nur Farbe und Stil (solid, dotted, ...) auswählen. Man muss hier also in die Trickkisste greifen.
07.09.2009
ermin 1,3k 2 7
3 Antworten
1
Hier hab ich etwas gefunden ... die Herren hatten das selbe Problem. Anscheinend gibt es keine andere Möglichkeit als die entsprechende Funktion selber zu implementieren. Hier sind einige Links dazu:
Steve Whitfield
Wikipedia
CodeCodex
07.09.2009
tobias 169 1 2
1
Gute Links! Allerdings werden alle obigen Lösungen u.U. schlecht performen, da die JME-VM nicht auf Line-Drawing-Primitives der Hardware bzw. OS zurückgreifen kann. Zusätzlich hat die "Whitefield"-Lösung zwischen 50% und 100% overdraw.
aC 07.09.2009
1
Soweit ich sehe, bleibt Dir nur das mehrfache Zeichnen einer 1px-Linie.

Für Linien mit 2px Dicke ist das noch recht einfach, da du nur 8 Fälle betrachten musst, wo die zweite Linie startet und endet.

Bei größeren Dicken bietet sich natürlich eine Berechnung der Start- und Endpunkte abhängig vom Winkel der Linie an. Ist diese Berechnung falsch, zeigen sich Lücken in der Linie (siehe Beispiel 2).

Linie von a->b, zusätzliche Linien von o->o:
Beispiel 1:
....ob.
...LL..
..LL...
.oa....
.......

Beispiel 2:
.......LoLa.
.....L.L....
....L.L.....
.oL.L.......
..aL........
............
07.09.2009
aC 21 1 1
[url=http://discussion.forum.nokia.com/forum/showpost.php?p=584519&postcount=7]Dies[/url] hört sich ganz nach deiner Antwort an. Was hälst du davon?
ermin 08.09.2009
0
Die Lösung aus dem Nokia Forum ist gut, aber für waagerechte oder senkrechte Linien würde ich aber drawRect() nehmen.
08.09.2009
BeachBlocker 617 3

Stelle deine Java-Frage jetzt!