jueves, 24 de enero de 2008

Utilizar colores en C++ para la consola de Linux

Primero creamos un fichero cabecera como sigue:
/** \file   Colors.h
*  \brief  Declaraciones de la clase \c Colors.
*  \author Airam Rodríguez Rivero.
*  \date   11-11-07
*  El propósito de esta clase es la de permitir la utilización de colores
*  utilizando la consola de linux que será donde se envíe el flujo de datos
*  generado por nuestro programa.
*/

#ifndef _COLORS_H_
#define _COLORS_H_

#include 
#include 
#include 

#define Reset      "\033[0m"    // Reset
#define Bold       "\033[1m"    // Brillo o negrita.
#define Underline  "\033[4m"    // Subrayado

// ******************* Foreground Non-lighted Colors *******************

#define Black      "\033[30m"   // Negro
#define Red        "\033[31m"   // Rojo
#define Green      "\033[32m"   // Verde
#define Brown      "\033[33m"   // Marron
#define Blue       "\033[34m"   // Azul
#define Magenta    "\033[35m"   // Magenta
#define Cyan       "\033[36m"   // Cyan
#define White      "\033[37m"   // Blanco

// ******************* Foreground Lighted Colors *******************

#define HBlack     "\033[1m\033[30m" /// bright/bold black
#define HRed       "\033[1m\033[31m" /// b red
#define HGreen     "\033[1m\033[32m" /// b green
#define HYellow    "\033[1m\033[33m" /// b yellow
#define HBlue      "\033[1m\033[34m" /// b blue
#define HMagenta   "\033[1m\033[35m" /// b pink
#define HCyan      "\033[1m\033[36m" /// b cyan
#define HWhite     "\033[1m\033[37m" /// b white

// ******************* Background Non-lighted Colors *******************

#define BBlack      "\033[40m"   // Negro
#define BRed        "\033[41m"   // Rojo
#define BGreen      "\033[42m"   // Verde
#define BBrown      "\033[43m"   // Marron
#define BBlue       "\033[44m"   // Azul
#define BMagenta    "\033[45m"   // Magenta
#define BCyan       "\033[46m"   // Cyan
#define BWhite      "\033[47m"   // Blanco

// ******************* Background Lighted Colors *******************

#define HBBlack      "\033[40;1m"   // Negro
#define HBRed        "\033[41;1m"   // Rojo
#define HBGreen      "\033[42;1m"   // Verde
#define HBBrown      "\033[43;1m"   // Marron
#define HBBlue       "\033[44;1m"   // Azul
#define HBMagenta    "\033[45;1m"   // Magenta
#define HBCyan       "\033[46;1m"   // Cyan
#define HBWhite      "\033[47;1m"   // Blanco

#endif
Ahora podemos hacer cosas como estas:
cout << HBYellow << HRed << "Rojo sobre amarillo" << endl;

No hay comentarios:

Publicar un comentario

Escriba su comentario (no necesita registrarse).