- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 5 von 5

Thema: Routine für eigenen Font für Grafik-LCD

  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379

    Routine für eigenen Font für Grafik-LCD

    Anzeige

    Praxistest und DIY Projekte
    Ich möchte in Bascom eine Routine für ein Grafik-LCD schreiben, mit der ich einen eigenen Font, bestehend aus kleinen Bildchen, auf dem LCD darstellen kann. Die Hardware funktioniert soweit, ich kann per $bgf eingebunde Bilder mit Showpic auf das Display zaubern. Es wäre nun natürlich sehr günstig, wenn ich nicht jedes Zeichen per if erfragen müsste, um dann das Bild darzustellen. Ich meine folgendes:

    zahl=3
    if zahl = 1 then
    showpic x,y, eins
    endif
    if zahl = 2 then
    showpic x,y, zwei
    endif
    if zahl = 3 then
    showpic x,y, drei
    endif
    (usw.)
    ...
    eins:
    $bgf "eins.bgf"
    zwei:
    $bgf "zwei.bgf"
    drei:
    $bgf "drei.bgf"
    (usw.)

    schöner wäre etwas nach der folgenden Art:

    zahl=3
    showpic x,y, zeichen(zahl)
    ...
    zeichen(1):
    $bgf "eins.bgf"
    zeichen(2):
    $bgf "zwei.bgf"
    zeichen(3):
    $bgf "drei.bgf"
    (usw.)


    Das es so nicht geht ist klar. Gibt es irgendeinen Weg, zumindest dieses Prinzip zu verwenden, beispielsweise in dem man die Adressen von den Bildern herausfindet, diese in ein Array schreibt, und dieses mit dem entsprechenden Index an showpic übergibt?

    Entschuldigt meine etwas seltsame Darstellung des Problems, ich hoffe man hat mich dennoch in etwa verstanden.

    Vielen Dank für jede Unterstützung!
    malthy

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hallo,

    Code man man mit den Code-Tags besser darstellen.

    Zuerst hätte ich eine Frage:
    Warum verwendest Du nicht die eingebauten Funktionen einen Zeichensatz zu verwenden.
    Es gibt sogar einen Font-Editor im Bascom.
    Dann ist es möglich mit den ganz normalen LCD-Befehlen und der Angabe des gewünschten Textes oder Variablen etwas auf dem LCD darzustellen.

    Schau Dir mal die Beispiele unter Samples/Lcdgraph im Bascom-Verzeichnis an.

    Geht dann zB mit:
    Code:
    Setfont font8x8
    Lcdat 1 , 1 , "Text auf LCD ausgeben."
    Die Position kann teilweise auch Pixelgenau angegeben werden, das hängt aber auch vom LCD-Controller und der verwendeten Lib ab.

    Oder hat es einen besonderen Grund das über die Bildchen zu machen ?

    Welches LCD verwendest Du, welchen Controller hat das ?

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von malthy
    Registriert seit
    19.04.2004
    Ort
    Oldenburg
    Beiträge
    1.379
    Hallo,

    Erstmal vielen Dank für die Antwort! Es handelt sich um ein 240*128 Pixel Display mit einem T6963C Controller. Ich möchte sehr große Zahlen (und evnt. auch Buchstaben) darstellen, die ich bei Verwendung der eingebauten Font-Routine zusammenstückeln müsste. Außerdem wollte ich Proportional-Fonts (also unterschiedlich breite Zeichen) verwenden. Ich werde nochmal überlegen, ob ich die interne Font-Funktion benutzen kann. Aber mal angenommen ich käme zu dem Schluss, dass das nicht praktikabel ist, gibt es eine Lösung, die dem von mir o.g. Prinzip gleichkäme?

    Gruß,
    malte

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Wie gross man die Zeichen mit dem eingebauten Font-Editor machen kann weiss ich grad nicht, bei Showpic ist es aber auch so, das man nur jedes 8. Pixel bei der Position angeben kann (laut Hilfe), und das die grösse (länge&breite) der Grafik durch 8 Teilbar sein soll, also bringt es keinen Vorteil es über Showpic zu machen.
    Das mit Proportional geht dann so auch nicht, evtl. noch jedes Zeichen direkt selber on the fly malen

    Mit dem Zeichensatz (Bascom-funktionen) kann man zumindest auf der X-Achse Pixelgenau positionieren.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    28.03.2005
    Beiträge
    24
    Hallo zusammen!

    Hilft dir der Befehl "select case" weiter?
    Hab grad kein Beispiel da.
    Der ist aber in der Hilfe beschrieben.

    mfg bastler5

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test