Grafik in der Konsole

OP Persönliche Seite #296615
Hi, ich benutze Microsoft Visual-C und suche eine Möglichkeit irgndwie
(windows NT basiertes Betriebssystem) Pixelweise in der Konsole zu
lesen.

Ich möchte also zB ein "A" in der Console ausgeben (printf) und
dieses mit 6*8 Pixel (breite/höhe) auslesen.

Hat einer ne idee? Eventuell könnte man im Grafikpuffer lesen, oder?
Gast
Das dürfte nicht so richtig was werden
Ich nehme an du willst Fonts abscannen. Die Font größe kann sehr
variieren. Schon zu DosZeiten 8x8 CGA 8*14EGA 8*16 VGA und einige mit
9*X von MDA.
Du könntest in ein Bitmap im Programm mit der gewünschten Schrift
schreiben und dieses Bitmap pixelweise abscannen. Die Fonteigenschaften
kannst du ja auch gleich abfragen. Das geht aber nicht mit printf
sondern mit Win32 API Funktionen. Du willst ja auch nicht auf den
Grafikkartenspeicher zugreifen sondern auf den Inhalt des Fensters.

Du könntest natürlich auch einen Screenshot machen als Bitmap
abspeichern und dann abscannen.

Oder du nimmst die Fontdateien auseinander.

Wenn du unbedingt auf der printf Ebene bleiben willst, es gibt da ein
paar BIOS Grafikfunktionen die dich an die Internen Fonts der
Grafikkarte ranlassen. Diese entsprechen allerdings nicht der
Darstellung im Fenster! sondern sind die die die Grafikkarte bei einem
BIOS Aufruf verwenden würde. Außerdem habe ich meine Zweifel was ein
Visual Studio 6/2002/2003 zu einem Biosaufruf aus einer Win32
Executable sagen würde.
Persönliche Seite
Zunächst einmal:

Was genau ist das Ziel?

Geht es darum, die in einem Konsolfenster ausgegebenen Zeichen eines
Programmes zu lesen? Dafür gibt es Funktionen in der Win32-API, so daß
keine selbstgebastelte OCR erforderlich ist.

Ansonsten kann wie bei jedem anderem Windows-Fenster das Fensterhandle
des Konsolfensters bestimmt werden und mit einem der BitBlt-Befehle der
Inhalt in eine Memory-Bitmap kopiert werden, um auf die übliche Weise
verwurstet zu werden.

Sollte es hingegen nur darum gehen, die Bitmuster des verwendeten
Zeichensatzes zu erhalten - die Standardschriftart des Konsolenfensters
(bei der verschiedene Größen in Breite*Höhe angegeben werden) liegt in
einem dokumentierten Dateiformat (*.FON) vor, es dürfte weniger Aufwand
sein, die Bitmapdaten aus der betreffende Datei zu lesen.
OP Persönliche Seite
Also im Prinzip möchte ich mir schnell mein 7x5 Charset
zusammenbasteln.

Ich habs schon mit "Terminal" größe 6 in eine Picturebox (TImage
Equivalent unter Delphi) schreiben und anschließend auslesen,
allerdings ist das keine "genormte" 5x7 Schrift (Ich weiß, DIE
genormte gibt es nicht, aber der Zeichensatz für Alphanumerische LCDs
muss doch auch irgndwo zu bekommen sein?)

Ich glaub das mit dem Konsolenfenster war nicht so eine gute Idee ;)
Persönliche Seite
Das Dateiformat der *.fon-Dateien, die mit Windows mitgeliefert werden,
ist dokumentiert. Die für die Konsolfenster standardmäßig verwendete
Schrift ist im Verzeichnis c:\windows\fonts gespeichert (mit
Dateiattribut "versteckt") und heißt vga850.fon. Die anderen
Varianten sind für andere Codepages zuständig.
OP Persönliche Seite
Ah jut, danke schonmal.

LSB unterstes Bit, gut. Und von links nach rechts nehme ich an? ;)

@Rufus:

Wo findet man denn eine Doku über FON schriftarten, nur zur Info? Habe
kurz die Suche betätigt, allerdings konnte ich nicht so das richtige
Suchwort finden.
Und diese vga850.fon finde ich ebenfalls nicht bei mir auf dem Rechner(
Ja, "Alle Dateien Anzeigen")

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.