mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Pixeltext Editor Pixel Font Display LCD


Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,
da ich mich nun auch mal mit vollgrafischen Display beschäftigt hab, 
stand ich wie so viele vor dem Problem Text auszugeben.
Da ich weder einen fertigen Font nehmen, noch für ein komfortables 
Proggi bezahlen wollte, hab ich einen Pixeltext Editor in C# 
geschrieben.

Man kann Pixelfonts beliebiger Größe aus Systemschriftarten rastern 
lassen und diese in .c Arrays exportieren. Ich habe noch eine 
Exportvariante mit 2 Arrays zum Platzsparen eingebaut. Der Export 
erfolgt spaltenweise, also horizontale Schrift (wenns an vertikaler 
Schrift Interesse gibt, kann i das ja noch hinzufügen).
Für grafische Schriften gibts zwei Varianten zum Rastern. Einmal die 
pixelige Windows-Standard-Textausgabe und einmal die 
Anti-Alias-Variante, welche über einen Schwellwert gerastert wird.

Runterzuladen gibts den Pixeltext Editor auf www.erdnusskoenig.de

Ich würde mich über konstruktive ;) Kritik freuen.
Gruß
Flo

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hab's mir nicht weiter angesehen - aber warum machst du das nicht 
einfach mit einem der vielen Pixelmalprogramme wie Paint?

Gruss Reinhard

Autor: Mr Bean (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey!

Starkes Tool! Habe mir gleich mal einen Zeichensatz für 14x16 gemacht. 
Gar nicht schlecht. Aber für mich wäre die Horizontale Ausgabe ziemlich 
gut, dann bräuchte ich für meinen SSD1327 OLED Controller keine großen 
Umstände machen was meine Software angeht... :-)

Grüße

Bean

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi Reinhard,

damit ich nicht jedes einzelne pixel setzen muss. können will ichs 
trotzdem ^^, aber eben um zeichensätze gleich schön zu importieren und 
in zeichen in serie abzufertigen.

und eben wenn man mal größere (mehr als 8px), eigene schriften erstellen 
will. da macht paint dann keine laune mehr ;).

wie ich mr bean verstehe, möchte er noch ne vertikale ausgabe? das 
entspricht doch einfach einer 90grad drehung im uhrzeigersinn, oder?

gruß
flo

Autor: Mr Bean (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähm naja, ich bin gerade am überlegen, aber nur eine 90° Drehung reicht 
glaube ich nicht. Du musst doch die Pixel anders anordnen.
Bis jetzt Bist Du den Buchsteben denke ich spaltenweise durchgegangen 
und hast das Array gefüllt.
Jetzt musst Du den Buchstaben zeilenweise durchgehen und eben das Array 
füllen (Je nach gesetztem Pixel...).
Oder sehe ich das falsch? Wenn Du nur im 90° drehst, dann stellst Du 
nachher den Buchstaben anders da!?

Grüße

Bean

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Flo schrieb:
> hi Reinhard,
>
> damit ich nicht jedes einzelne pixel setzen muss.

Hallo,

deswegen fragte ich ja. Natürlich kannst du in den Malprogrammen mit 
jeder installierten Schrift in jeder Grösse "schreiben", bei den 
besseren mit und ohne Kantenglättung (was seine eigenen Tücken hat, weil 
die Kantenglättung nur für die gewählte Hintergrundfarbe gilt). Ich 
mache das z.B. wenn ich Icons entwerfe.

Zum Drehen: du kannst die Schrift drehen oder die fertige Bitmap. Für 
krumme Winkel wird das in beiden Fällen meistens nicht schön.

Gruss Reinhard

Autor: Flo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
also ich habs jetzt so verstanden, dass der buchstabe nicht 
spaltenweise, sondern zeilenweise ausgegeben wird.
d.h. die binäre summe wird dann über zeilen gebildet. hab ne 
veranschaulichung im anhang.
hast dir das so gedacht? oder buchstaben normal ausgerichtet und 
übereinander?

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>oder buchstaben normal ausgerichtet und übereinander?

Ja. Bei den Dog-Displays befinden sich 8 übereinander liegende Pixel in 
einem Byte des Display-RAMs. Bei anderen, z.B. Displays mit 
T6963-Controller, befinden sich 8 nebeneinander liegende Pixel in einem 
Byte.

MfG spess

Autor: Mr Bean (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, also wenn ich mir die drei Bildchen anschaue, dann sieht das Bild 
rechts unten ab besten für mich geeignet. Hier wird der Buchstabe 
zeilenweise eingelesen. Ich hab also nachher in meinem Array 16 integer 
Werte mit einem Informationsinhalt von jeweils 9 Bit...
Das sollte passen.

Grüße

Bean

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
ich hab die exportvariante hinzugefügt. ich hoffe, dass es bei dir so 
läuft wie erwünscht :). neue version ist online.
gruß
flo

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.