grafische Darstellung in DOS-console
grafische Darstellung in DOS-console
Servus.
Ich wollte mich einmal erkundigen, ob es in C oder C++ eine Möglichkeit gibt, "einfache" Grafiken (,zb. Keise, Striche, Punkte, einzelne farbige Pixel,) in der MS-DOS-Console darzustellen (,möglichst ohne auf etwas vordefiniertes wie DirectX oder etwas ähnliches zu zugreifen).
Falls dies möglich ist, könnte mir jemand bitte erklären wie so etwas möglich ist bzw. mich an irgendein Tutorial verweisen`?
Danke im Vorraus...
Ich wollte mich einmal erkundigen, ob es in C oder C++ eine Möglichkeit gibt, "einfache" Grafiken (,zb. Keise, Striche, Punkte, einzelne farbige Pixel,) in der MS-DOS-Console darzustellen (,möglichst ohne auf etwas vordefiniertes wie DirectX oder etwas ähnliches zu zugreifen).
Falls dies möglich ist, könnte mir jemand bitte erklären wie so etwas möglich ist bzw. mich an irgendein Tutorial verweisen`?
Danke im Vorraus...
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: grafische Darstellung in DOS-console
In der Konsole ist das nciht ,öglich, da die Konsole eine textbasierte ausgabe ist, die Programmen eine einfache Ausgabe ermöglicht, da diese einfach nur den Text in den Ausgabespeicher schreiben müssen.
Du aknnst aber durch Zeichen wie ┤ oder ║ kannst du Simple rechtecke erzeugen.
Die Farbe kann man ändern, das beschrängt sich aber auf 16 Hintergrund/Vordergrundfarben.
Nur im Fenster modus, kann man zeichen, da du da erst manuellen, direkten zugriff auf die Grafikkarte hast.
Du aknnst aber durch Zeichen wie ┤ oder ║ kannst du Simple rechtecke erzeugen.
Die Farbe kann man ändern, das beschrängt sich aber auf 16 Hintergrund/Vordergrundfarben.
Nur im Fenster modus, kann man zeichen, da du da erst manuellen, direkten zugriff auf die Grafikkarte hast.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
Re: grafische Darstellung in DOS-console
Ahh...
Danke
Zu der Sache mit der Farbänderung, ich hatte von dem Befehl - textcolor() - gelesen, doch dieser funktioniert bei mir leider nicht, trotz - #include<conio.h> - .
Gibt es hierzu eine andere Möglichkeit?
WIe genau funktioniert die Sache mit dem Fenstermodus, bzw wie initialisiere ich den direkten Zugriff auf die Grafikkarte und solche Sachen?
Kann man eigentlich auch die Konsole bzw das Fenster im Fenstermodus (davon habe ich bis jetzt sowieso noch keine Ahnung) zu ändern, zb von 80*25 auf 80*50?
In Pascal gab es hierzu den Befehl - textmode(co80+font8x8) - .
Danke
Zu der Sache mit der Farbänderung, ich hatte von dem Befehl - textcolor() - gelesen, doch dieser funktioniert bei mir leider nicht, trotz - #include<conio.h> - .
Gibt es hierzu eine andere Möglichkeit?
WIe genau funktioniert die Sache mit dem Fenstermodus, bzw wie initialisiere ich den direkten Zugriff auf die Grafikkarte und solche Sachen?
Kann man eigentlich auch die Konsole bzw das Fenster im Fenstermodus (davon habe ich bis jetzt sowieso noch keine Ahnung) zu ändern, zb von 80*25 auf 80*50?
In Pascal gab es hierzu den Befehl - textmode(co80+font8x8) - .
Re: grafische Darstellung in DOS-console
"Funktioniert nicht"? Wie? Compilerfehler oder wird trotzdem alles Schwarz-Weiß ausgegeben? Um den Text dann in der Farbe auszugeben musst du cprintf verwenden.darkangel hat geschrieben:Zu der Sache mit der Farbänderung, ich hatte von dem Befehl - textcolor() - gelesen, doch dieser funktioniert bei mir leider nicht, trotz - #include<conio.h> -
Ich habe mal ein ASCII-TicTacToe geschrieben (ja, ich verweise schonwieder darauf ^^), indem auch Farben geändert werden. Vielleicht siehst du dir den Code mal an. Ich "zeichne" darin auch Rechtecke wie cloidnerux es beschrieben hat.
Link zum Beitrag
Re: grafische Darstellung in DOS-console
Der Compiler gibt bei der entsprechenden Zeile - is not declared in this scope - an.
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: grafische Darstellung in DOS-console
Um den Fenstermodus zu Initialisiern, musst du Systemspeziefische sachen initialisieren.
In diesem Tutorial wird das erklärt wie man sich ein Fenster erstellt und wie man darin zeichnet unter Windows.
In diesem Tutorial wird das erklärt wie man sich ein Fenster erstellt und wie man darin zeichnet unter Windows.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
Re: grafische Darstellung in DOS-console
Hast du schon meinen Code versucht? Ich hab ihn gerade noch einmal kompiliert. Er funktioniert einwandfrei nur mit stdio.h und conio.h.darkangel hat geschrieben:Der Compiler gibt bei der entsprechenden Zeile - is not declared in this scope - an.
Re: grafische Darstellung in DOS-console
Danke.
Werde ich mir gleich einmal anschauen.
Neben bei ich war gerade dabei mir eine Art "minesweaper"(im textmodus) zu erstellen.
Also habe ich versucht, mit mit der Funktion - gotoxy() - (hatte ich irgendwann mal im Internet gefunden) eine clrscr-Funktion zu schreiben.
- gotoxy() - funktioniert eigentlich, aber clrscr nicht.
Hat von euch jemand eine Ahung woran das liegen könnte?
Werde ich mir gleich einmal anschauen.
Nun ja, bei deinem Code ist das Problem, dass der Compiler, bei der Zeile - clrscr (); - angibt, dass es nicht deklariert sei.nufan hat geschrieben:Hast du schon meinen Code versucht? Ich hab ihn gerade noch einmal kompiliert. Er funktioniert einwandfrei nur mit stdio.h und conio.h.darkangel hat geschrieben:Der Compiler gibt bei der entsprechenden Zeile - is not declared in this scope - an.
Neben bei ich war gerade dabei mir eine Art "minesweaper"(im textmodus) zu erstellen.
Also habe ich versucht, mit mit der Funktion - gotoxy() - (hatte ich irgendwann mal im Internet gefunden) eine clrscr-Funktion zu schreiben.
- gotoxy() - funktioniert eigentlich, aber clrscr nicht.
Hat von euch jemand eine Ahung woran das liegen könnte?
Code: Alles auswählen
void clrscr()
{
int x=1,y=1;
for(x=1;x<=80;++x)
{
gotoxy(x,y);
std::cout<<" "<<std::endl;
for(y=1;y<=25;++y)
{
gotoxy(x,y);
std::cout<<" "<<std::endl;
}
}
gotoxy(1,1);
}
Re: grafische Darstellung in DOS-console
Bitte verwende den korrekten Code-Tag-Syntax. Wenn du den nicht kennst, markier den Text und klick auf "Code".
Jetzt zum Problem:
Du erstellt selbst eine Funktion clrscr... diese ist aber schon in conio.h enthalten. Wenn du willst, dass der Bildschirm gelöscht und dann der Cursor auf die jeweilige Position gesetzt wird, musst du einen anderen Namen wählen und darin zuerst clrscr und dann gotoxy verwenden.
Also z.B.:
Also merke: clrscr ist eine fertige Funktion, du brauchst sie nicht mehr selbst zu schreiben.
Jetzt zum Problem:
Du erstellt selbst eine Funktion clrscr... diese ist aber schon in conio.h enthalten. Wenn du willst, dass der Bildschirm gelöscht und dann der Cursor auf die jeweilige Position gesetzt wird, musst du einen anderen Namen wählen und darin zuerst clrscr und dann gotoxy verwenden.
Also z.B.:
Code: Alles auswählen
void funktionsname ()
{
clrscr ();
gotoxy ...
}
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: grafische Darstellung in DOS-console
Ich glaube, es gibt eine MS-DOS Version der AA-Lib. (BB-Demo, pure ASCII, Verschmierungen sind Fragmenten durch die Kompression)darkangel hat geschrieben:Ich wollte mich einmal erkundigen, ob es in C oder C++ eine Möglichkeit gibt, "einfache" Grafiken (,zb. Keise, Striche, Punkte, einzelne farbige Pixel,) in der MS-DOS-Console darzustellen
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.