Grafik in der Konsole

Persönliche Seite #296615
Lesenswert?

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 #296616
Lesenswert?

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 #296617
Lesenswert?

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.
Persönliche Seite #296618
Lesenswert?

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 #296621
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren