Shell   09-04-2023, 10:42
#1
Buenas!.

En un libro de Java el primer ejemplo fue como mostrar por la consola un texto en color.
Para ello usa secuencias de escape ANSI ( a ver si lo dije bien ).

En el primer ejemplo "sencillo" en Java

Código:
public class ColoreadoDeTexto {

    public static void main(String[] args) {
        System.out.println("\033[33m mandarina");
        System.out.println("\033[32m hierba");
        System.out.println("\033[31m tomate");
        System.out.println("\033[37m sábanas");
        System.out.println("\033[36m cielo");
        System.out.println("\033[35m nazareno");
        System.out.println("\033[34m mar");
    }
}

Lo primero que usa es el código \033 que es "Esc", lo gracioso de este, que ahora me he dado cuenta es que está en "octal"
cuando pensaba que estaba en hexadecimal.

Así que me animé a hacer otro ejemplo en Gambas. Lo cierto es que se pueden hacer muchas combinaciones.
En el caso de Gambas he usado hexadecimal.

Código:
Public Sub Main()
 
  'Comenzamos con el código de escape ANSI \x1b
  'Podemos añadir
  '[1; para activar negrita
  '[0; para no activar negrita]
  '3 para poner color del texto
  '4 para poner color del fondo
  '5 para que parpadeé  
  '\x1b[0m Para volver al estado inicial
  '¿ Intensidad del color ? ¿ normal, claro ?
 
  '\x1b[b;fg;bg m]
 
  'Añado al final \x1b[0m para que el texto siguiente al mostrarlo no se muestre del mismo color
 
  Print "\x1b[0;32m Texto en verde suave\x1b[0m"
  Print "\x1b[1;42m Fondo de texto en verde sin brillo y negrita\x1b[0m"
  Print "\x1b[5;34m Texto en azúl parpadeante\x1b[0m"
  Print "\x1b[1;3m Texto"
 
  'Para volver al estado inicial
  Print "\x1b[0m"
  Print "Letra sin colores de texto y sin fondo"
 
  Print "El valor hexa h1B corresponde con el valor decimal: " & Int(&h1b)
  Print "El valor octal 033 corresponde con el valor decimal: " & Int(&o33)
 
End


[Imagen: KdnkcAm.png]

Se pueden lograr más efectos lógicamente.
Lo de presentar el valor h1B en decimal fue para comprobar a que valor se correspondía en decimal.

Ojo:
Si convertimos 033 que es un valor octal a decimal, no es un cero es una "o"

Tipo entero en Gambas

Códigos de escape en ANSI

En ese último enlace encontrareis el tema de los colores en: Colors / Graphics Mode
Y naturalmente todo lo referente a secuencias de escape ANSI.

Es una sentencia algo compleja que los programadores de "C" estarán muy acostumbrados a ver.
 

Añado otro enlace:

Código escape ANSI

Saludos
Última modificación: 09-04-2023, 10:55 por Shell.

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
  
Usuarios navegando en este tema: 2 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.