Text in der Konsole Farbig ausgeben ?

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Es gibt mehrere möglichkeiten Farbe in C++ einzubringen,

      Meine Meinung nach ist die einfachste Möglichkeit "SetConsoleTextAttribute"
      hier mal schnell paar bei Spiele ausem Projekt Code.


      C-Quellcode

      1. #include <windows.h>
      2. #include <iostream.h>
      3. int main() {
      4. HANDLE hOut;
      5. hOut = GetStdHandle(STD_OUTPUT_HANDLE);
      6. SetConsoleTextAttribute(hOut,FOREGROUND_RED |FOREGROUND_GREEN); cout << "[SUCCESS]" << endl;
      7. SetConsoleTextAttribute(hOut,FOREGROUND_RED | OREGROUND_GREEN | FOREGROUND_BLUE); cout << "[INFO]" << endl;
      8. SetConsoleTextAttribute(hOut,FOREGROUND_GREEN |FOREGROUND_BLUE); cout << "[NETWORK]" << endl;
      9. SetConsoleTextAttribute(hOut,FOREGROUND_BLUE |FOREGROUND_RED); cout << "[DEBUG]" << endl;
      10. return 0;
      11. }
      Alles anzeigen
      falls du fragen dazu hast einfach sagen, dann erklär ich es dir nochmal genauer :)
    • Kaidra;196102 schrieb:

      Die Farben werden jetzt durch die Flags zusammen gesetzt also BLAU und ROT ist Violett ?


      Genau,
      du weiß ja sicher das es die 3 Hauptfarben gibt : Rot, Grün & Blau
      mit denne kannst du eigentlich jede Farbe zusammen mischen.
      Es gibt zwar eine noch einfachere Möglichkeit, aber ich finde diese am besten.

      Edit, hab langeweile deswegen Zeig ich dir mal die 2. einfache Möglichkeit :)

      Also wie gesagt gibt es mehrere möglichkeiten in C++ Farben auszugeben
      z.b. die normale GDI-Funktion:

      Quellcode

      1. SetTextColor(HDC hDC, COLORREF crColor);


      Der erste Parameter dieser Funktion ist ein Handle eines Device Context.
      Der zweite Parameter hat den Typ COLORREF. Hinter diesem Typ
      verbirgt sich ein vorzeichenloser Integertyp (DWORD). Mit diesen
      Parameter gibst du die Farbe an, die bei den nächste Aufrufen von Textfunktionen
      genutzt werden soll.

      Der Wert wird dann als RGB-Wert intepretiert. In RGB-Schema hab ich
      dir ja auch oben schon gesagt wird jede Farbe aus ihrem Rot-, Grüm- und Blauteil
      zusammengesetzt.

      Um die Farbe festzulegen gibt es zwei einfache Möglichkeiten. Zum einen
      kannst du mit den RGB-Makro arbeiten, bei dem du die Farbanteile folgedermaßen angibst:

      Quellcode

      1. SetTextColor(hDC,RGB(255,0,0)); // Textfarbe ist auf Rot gesetzt
      2. SetTextColor(hDC,RGB(255,0,255)); // Textfarbe ist auf Geld gesetzt
      3. SetTextColor(hDC,RGB(255,255,255)); // Textfarbe ist auf Weiß gesetz


      Und die zweite einfache Möglichkeit die es gibt, die Farbe als hexadezimal Wert zudefinieren.
      Der wert wird folgenderma0en intepretiert:

      0x00bbggrr // Jeweils zwei hexadezimale Stellen pro Farbe

      (rr) enthält den Wert für die Rotintensität
      (gg) das Zweite Byte, den Wert für die Grün
      (bb) und das dritte Byte, den Wert für Blau.

      Hier nochmal die gleichen Bsp. wie oben:

      Quellcode

      1. SetTextColor(hDC,0x00ff0000); // Textfarbe auf Rot gesetzt
      2. SetTextColor(hDC,0x00ff00ff); // Textfarbe auf Gelb gesetzt
      3. SetTextColor(hDC,0x00ffffff); // Textfarbe auf Weiß gesetzt


      falls wer fragen dazu hat, kann sich gerne bei mir per PN melden aber ich bitte euch nicht zuspammen da ich auch soo genung zutun hab.