.NET C# Java Javascript Exception

 | 
Frage stellen Fragen Themen Mitglieder Abzeichen RSS-Feed
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.
Themen:
07.09.09
ermin 1,2k 1 6
Kommentieren - Für Rückfragen oder Anmerkungen
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.09
tobias 149 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.09
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.09
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.09
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.09
BeachBlocker 492 3
Deine Antwort
Entweder einloggen... ...oder ohne Wartezeit registrieren
Name
Passwort
Passwort wiederholen
E-Mail
Geworben von


Login mit OpenID

Mit einem OpenID-Account kannst Du dich auf allen Webseiten anmelden, die OpenID unterstützen. Du hast bereits ein Benutzerkonto bei einem der folgenden Provider? Dann kannst Du dich direkt hier damit registrieren.


OpenID-Provider anklicken: