Hallo zusammen, wenn ich ein Zeigerinstrument auf einem GLCD darstellen möchte wie setze ich das am besten um? Baue ich mir da einen eigenen Fond zusammen wie bei einer digtalen Darstellung, pro Wert (Zeigerstellung) einen Datensatz? Gibt es evt. einen Creator? Danke für Antworten
> wenn ich ein Zeigerinstrument auf einem GLCD darstellen möchte wie setze > ich das am besten um? Baue ich mir da einen eigenen Fond zusammen wie > bei einer digtalen Darstellung, pro Wert (Zeigerstellung) einen > Datensatz? Du guckst dir http://de.wikipedia.org/wiki/Bresenham-Algorithmus an, setzt beide Varianten (Linie und Kreis) auf deinem System um, und verknubbelst dann quasi deine interne Software-Uhr mit der Ansteuerung der Uhr-Anzeige. Um zu ermitteln, wo beispielsweise die jeweiligen Stundenmarkierungen liegen müssen, würde ich das einfach in Paint oder einem anderen Programm, welches großem Zoom ein Raster anzeigen kann, zeichnen und die Koordinaten entsprechend in eine Koordinatentabelle eintragen, aus der du jeweils die benötigte Anfangs- und Endpunkte holst. Drumrum natürlich der Kreis. Die Zeigerpositionen würde ich ebenfalls in einer Tabelle führen. Die Zeiger werden dann von der Mitte der Uhr bis zu den entsprechenden Koordinaten gezeichnet. Um eine Zeigerposition zu aktualisieren, ist es wichtig, beide Zeiger zu löschen, dann die neuen Endpunkte holen und neu zu zeichnen. Ralf
Hi
>Du benötigst nur einen Viertelkreis und kannst dann spiegeln.
Bei simpel gestrickten Anzeigen mag das ja noch angehen. Wenn es etwas
anspruchsvoller aussehen soll würde ich die Skala als Grafik laden und
nur den Zeiger zeichnen. Geht auch wesentlich schneller.
MfG Spess
Den Zeiger per Bresenham und die Kreisskala entweder auch per Bresenham zeichnen oder als Bitmap definieren. Darauf achten, das man nichts von der Kreisskala mit dem Zeiger übermalt. Dann muss man die Skala nicht jedesmal neu zeichnen. Außerdem ist es nützlich sich mit dem Bogenmaß auseinanderzusetzen. Legt man die vorberechneten Anfangs/Endkoordinaten des Zeigers dann noch in ein Array dann ist das ganze auch recht flott.
Hi >Darauf achten, das man nichts von der Kreisskala mit dem Zeiger >übermalt. Dann muss man die Skala nicht jedesmal neu zeichnen. Wenn du für den Zeiger einen XOR-Mode benutzt reicht das erneute Zeichnen um den Zeiger zu löschen und den Hintergrund wieder herzustellen. MfG Spess
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.