Text in der Konsole Farbig ausgeben ?

  • 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.


    falls du fragen dazu hast einfach sagen, dann erklär ich es dir nochmal genauer :)

    [CENTER][COLOR=Red][/COLOR]
    [/CENTER]

  • Zitat von Kaidra;196102

    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:

    Code
    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:

    Code
    SetTextColor(hDC,RGB(255,0,0));     // Textfarbe ist auf Rot gesetzt
    SetTextColor(hDC,RGB(255,0,255));     // Textfarbe ist auf Geld gesetzt
    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:

    Code
    SetTextColor(hDC,0x00ff0000); // Textfarbe auf Rot gesetzt
    SetTextColor(hDC,0x00ff00ff); // Textfarbe auf Gelb gesetzt
    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.

    [CENTER][COLOR=Red][/COLOR]
    [/CENTER]

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!