Ir para o conteúdo do rodapé
Iron Academy Logo
Aplicação C#
Aplicação C#

Outras categorias

Criando Word Art com FIGlet - Série Spectre Console

Tim Corey
3m 47s

Spectre Console é uma biblioteca .NET projetada para aprimorar aplicativos de console com texto formatado, painéis, tabelas, barras de progresso e até mesmo arte em ASCII. Em vez de ficar limitado a uma saída em preto e branco, você pode adicionar cor, alinhamento e estrutura visual aos dados exibidos. Uma de suas características mais chamativas é o Spectre Console Figlet, que permite renderizar banners de texto grandes usando o formato de fonte Figlet clássico.

Neste artigo, vamos analisar mais detalhadamente esse recurso por meio do vídeo de Tim Corey sobre " Criando Word Art com Figlet - Série Spectre Console ".

Apresentando Figlet no console Spectre

Aos 0:00, Tim lembra aos espectadores que "o Spectre Console permite transformar seus aplicativos de console C# em aplicativos visualmente atraentes e informativos". Ele descreve a biblioteca como uma maneira de criar ferramentas de linha de comando completas com painéis, tabelas, indicadores de progresso e outros serviços, em vez de escrever manualmente códigos ANSI.

Aos 0:16, ele diz: "Nesta lição, vamos criar arte com palavras em ASCII usando um sistema chamado Figlet." O Figlet existe há décadas como uma forma de renderizar texto em arte ASCII no estilo de banners usando um arquivo de fonte Figlet (geralmente com a extensão .flf). O Spectre Console vem com uma fonte Figlet integrada por padrão, mas também pode carregar outras. A biblioteca encapsula essa funcionalidade em uma classe chamada FigletText (às vezes referida como o objeto Spectre Figlet Text), que você pode criar como uma nova instância e, em seguida, estilizar.

Tim observa aos 0:22 que o código-fonte deste exemplo está disponível na descrição do vídeo para que os espectadores possam baixá-lo e acompanhar.

Primeiro exemplo: Texto Figlet do console Spectre embutido

Aos 0:38, Tim começa com o que ele chama de "o jeito fácil de fazer em linha". É aqui que você cria e renderiza o objeto de texto Figlet do Console Spectre em uma única instrução:

AnsiConsole.Write(
    new FigletText("Hello")
        .Centered()
        .Color(Color.Red)
);
AnsiConsole.Write(
    new FigletText("Hello")
        .Centered()
        .Color(Color.Red)
);

Aos 0:46, Tim explica que está criando uma nova instância de FigletText com o parâmetro de string "Olá". Este parâmetro é o texto a ser renderizado.

Aos 0:53, ele encadeia métodos de estilização diretamente no objeto. Primeiro, use .Centered() às 1:00 para justificar e alinhar o banner ASCII no centro das colunas disponíveis. Em seguida, use .Color(Color.Red) em 1:02 para aplicar uma cor específica — neste caso, vermelho como cor de destaque.

Quando Tim executa esse código às 1:12, o console exibe um "HELLO" em ASCII vermelho e em negrito, no formato de fonte padrão do Figlet. É uma maneira rápida de adicionar um título ou cabeçalho grande ao seu aplicativo de console.

Spectre Console Word Art Figlet 1 related to Primeiro exemplo: Texto Figlet do console Spectre embutido

Segundo exemplo: Reutilizando um objeto FigletText

Em 1:22, Tim mostra um segundo padrão: em vez de criar o texto Figlet diretamente no código, você cria uma variável primeiro. Isso facilita definir ou armazenar propriedades, alterar estilos ou reutilizar o mesmo objeto.

var figlet = new FigletText("World");
figlet.Centered();
figlet.Color(Color.Red);
AnsiConsole.Write(figlet);
var figlet = new FigletText("World");
figlet.Centered();
figlet.Color(Color.Red);
AnsiConsole.Write(figlet);

À 1:28, Tim cria a nova instância com a string "World". Às 1:41 ele chama .Centered() para centralizá-lo. À 1:44, ele define a cor novamente — ele brinca "vamos usar vermelho porque sim?" — e à 1:59 ele escreve o objeto no console com AnsiConsole.Write(figlet);.

Ao ser executado às 2:04, isso exibe "WORLD" abaixo do "HELLO" anterior em um grande desenho ASCII. Isso mostra que a função escreve dois blocos separados porque você chamou a função Write duas vezes.

Entendendo como o Write funciona com o Figlet

Tim faz uma pausa em 2:10 para dar um detalhe importante sobre como o Spectre Console renderiza o texto do Figlet. Normalmente, AnsiConsole.Write não adiciona uma nova linha como WriteLine faz. Mas com certos objetos renderizáveis ​​— como FigletText ou um Panel — o Spectre Console encerra automaticamente o bloco com uma nova linha para que seja exibido corretamente.

Ele explica aos 2:20 que o comprimento da string também pode causar quebras de linha, dependendo da largura da janela do console ou do arquivo de fonte, mas isso é um problema separado do comportamento da quebra de linha. Este contexto é útil para usuários que criam sistemas de comandos ou scripts que escrevem vários cabeçalhos, tabelas ou barras de progresso: não se pode confiar que o método Write se comporte exatamente da mesma forma que se comporta com strings simples.

Opções de estilo: cores e muito mais

Aos 2:53, Tim destaca que você não está limitado ao vermelho como uma cor específica. Você pode usar verde, branco, amarelo ou qualquer uma das cores suportadas pela biblioteca:

figlet.Color(Color.Yellow);
figlet.Color(Color.Yellow);

Ele observa aos 3:00 que você também pode "fazer piscar" e aplicar outros estilos, embora ele não aborde todas as opções nesta breve lição. A principal conclusão é que o objeto FigletText expõe propriedades públicas (como Color) que você pode definir ou alterar em tempo de execução.

Spectre Console Word Art Figlet 2 related to Opções de estilo: cores e muito mais

Isso demonstra como é fácil escolher diferentes sequências de caracteres e cores para criar cabeçalhos, avisos ou títulos de seção de dados personalizados dentro do seu aplicativo de console.

Fontes e arquivos Figlet

Embora Tim mantenha este exemplo simples, o sistema subjacente usa um formato de fonte figlet (arquivos .flf) para renderizar cada caractere. O Spectre Console inclui um valor padrão para a fonte (chamado "Standard"), mas você pode direcionar o construtor FigletText para um arquivo de fonte figlet diferente para alterar completamente a aparência da sua arte ASCII.

Isso possibilita abrir um caminho para uma fonte personalizada, adicioná-la ao seu projeto e retornar um estilo de banner completamente diferente. Isso não é mostrado no vídeo curto do Tim, mas faz parte da mesma API que ele está demonstrando.

Usos práticos em aplicações de console

Tim conclui em 3:12 lembrando aos espectadores que o Figlet pode ser usado para criar cabeçalhos interessantes para seu aplicativo. Em conjunto com outros recursos do Spectre Console — como tabelas para exibir dados de banco de dados, barras de progresso para tarefas de longa duração e painéis para agrupar informações — o FigletText pode ajudá-lo a criar um sistema de comandos com um acabamento impecável.

Por exemplo, você pode usar o texto Figlet para:

  • Exibir um título grande ou número de versão no início de uma ferramenta ou script.

  • Exibir os cabeçalhos das seções acima das tabelas de dados recuperados.

  • Forneça uma cor de destaque para ressaltar uma mensagem de aviso ou de sucesso.

  • Separe diferentes ações em um prompt ou serviço com várias etapas.

Como o FigletText é um objeto renderizável, você pode armazená-lo em uma variável, definir ou alterar suas propriedades (cor, alinhamento, texto) e, em seguida, escrevê-lo várias vezes.

Concluindo

A lição pode ser rápida, mas mostra exatamente como usar o suporte Figlet do Spectre Console para adicionar estilo instantâneo à saída do console.

Se você quiser mais detalhes, Tim recomenda visitar o link para o código-fonte e a documentação do Spectre Console. Lá você também pode baixar fontes adicionais do Figlet, caso queira experimentar estilos diferentes.

Pontos principais do vídeo de Tim Corey

  • O Spectre Console Figlet permite renderizar banners ASCII usando um objeto FigletText.

Você pode criá-lo diretamente no código ou como uma nova instância, definir suas propriedades e, em seguida, escrevê-lo.

  • Por padrão, utiliza uma fonte Figlet integrada, mas pode carregar arquivos de fonte .flf personalizados.

  • .Centered() e .Color(Color.Red) são exemplos de estilos que você pode aplicar.

  • AnsiConsole.Write adiciona automaticamente uma nova linha para o texto Figlet.

  • Este recurso é perfeito para cabeçalhos, títulos ou quebras de seção em aplicativos de console.

Seguindo as instruções do vídeo de Tim Corey, você pode começar imediatamente a usar o suporte do Figlet no Spectre Console para aprimorar suas próprias ferramentas de linha de comando. Seja para exibir dados recuperados, escrever prompts ou simplesmente adicionar estilo a um script, o FigletText dá ao seu console um toque arrojado e colorido com o mínimo de código.

Hero Worlddot related to Criando Word Art com FIGlet - Série Spectre Console
Hero Affiliate related to Criando Word Art com FIGlet - Série Spectre Console

Ganhe mais compartilhando o que você ama.

Você cria conteúdo para desenvolvedores que trabalham com .NET, C#, Java, Python ou Node.js? Transforme sua expertise em renda extra!

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim