푸터 콘텐츠로 바로가기
Iron Academy Logo
C# 애플리케이션
C# 애플리케이션

다른 카테고리

FIGlet으로 워드 아트 만들기 - Spectre 콘솔 시리즈

Tim Corey
3분 47초

Spectre Console은 풍부한 텍스트, 패널, 표, 진행률 표시줄, 심지어 ASCII 워드 아트까지 콘솔 애플리케이션에 추가하여 기능을 향상시키도록 설계된 .NET 라이브러리입니다. 흑백 출력에만 머무르지 않고, 색상, 정렬 및 시각적 구조를 추가하여 데이터를 표시할 수 있습니다. 가장 눈길을 끄는 기능 중 하나는 Spectre Console Figlet으로, 이를 사용하면 기존 Figlet 글꼴 형식을 사용하여 큰 텍스트 배너를 렌더링할 수 있습니다.

이 글에서는 Tim Corey의 " Figlet으로 워드 아트 만들기 - Spectre 콘솔 시리즈 " 영상을 통해 이 기능을 자세히 살펴보겠습니다.

Spectre Console에 Figlet을 소개합니다

0:00에 Tim은 시청자들에게 "Spectre Console을 사용하면 C# 콘솔 앱을 시각적으로 매력적이고 유용한 애플리케이션으로 바꿀 수 있습니다."라고 상기시킵니다. 그는 이 라이브러리를 통해 ANSI 코드를 직접 작성하는 대신 패널, 표, 진행률 표시기 및 기타 서비스를 갖춘 완벽한 기능을 제공하는 명령줄 도구를 구축할 수 있다고 설명합니다.

0:16에 그는 "이번 수업에서는 Figlet이라는 시스템을 사용하여 ASCII 워드 아트를 만들겠습니다."라고 말합니다. Figlet은 수십 년 동안 사용되어 온 프로그램으로, figlet 폰트 파일(대부분 .flf 확장자)을 사용하여 텍스트를 배너 스타일의 ASCII 아트로 변환합니다. Spectre Console은 기본적으로 Figlet 글꼴이 내장되어 있지만 다른 글꼴도 불러올 수 있습니다. 이 라이브러리는 FigletText(때때로 Spectre Figlet Text 객체라고도 함)라는 클래스로 이 기능을 래핑하며, 이 클래스를 새 인스턴스로 생성한 다음 스타일을 지정할 수 있습니다.

팀은 0:22에 이 예제의 소스 코드가 영상 설명에 링크되어 있으므로 시청자가 다운로드하여 따라할 수 있다고 언급합니다.

첫 번째 예시: Spectre 콘솔 Figlet 텍스트 (인라인)

0:38에서 Tim은 자신이 "간편한 인라인 방식"이라고 부르는 것을 시작합니다. 이 방식에서는 단일 명령문으로 Spectre 콘솔 Figlet 텍스트 객체를 생성하고 렌더링합니다.

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

0:46에 Tim은 "Hello"라는 문자열 매개변수를 사용하여 FigletText의 새 인스턴스를 생성하고 있다고 설명합니다. 이 매개변수는 렌더링할 텍스트입니다.

0:53에 그는 스타일링 메서드를 객체에 직접 연결합니다. 먼저 1시 방향에 .Centered()를 호출하여 ASCII 배너를 사용 가능한 열의 중앙에 정렬합니다. 그런 다음 1분 2초에 .Color(Color.Red)를 사용하여 지정된 색상(이 경우 강조 색상으로 빨간색)을 적용합니다.

Tim이 1분 12초에 이 코드를 실행하면 콘솔에 Figlet 내장 글꼴 형식으로 굵은 빨간색 ASCII 문자 "HELLO"가 표시됩니다. 콘솔 애플리케이션에 큰 제목이나 헤더를 빠르게 추가하는 방법입니다.

Spectre Console Word Art Figlet 1 related to 첫 번째 예시: Spectre 콘솔 Figlet 텍스트 (인라인)

두 번째 예시: FigletText 객체 재사용

1분 22초에 Tim은 두 번째 패턴을 보여줍니다. Figlet 텍스트를 인라인으로 생성하는 대신 먼저 변수를 만드는 것입니다. 이렇게 하면 속성을 설정하거나 저장하고, 스타일을 변경하거나, 동일한 객체를 재사용하는 것이 더 쉬워집니다.

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은 "World"라는 문자열을 사용하여 새 인스턴스를 생성합니다. 1분 41초에 그는 .Centered()를 호출하여 가운데 정렬합니다. 1시 44분에 그는 다시 색상을 설정합니다. 그는 "빨간색으로 해 볼까? 왜 안 되겠어?" 라고 농담을 합니다. 그리고 1시 59분에 그는 AnsiConsole.Write(figlet);를 사용하여 객체를 콘솔에 출력합니다.

2분 4초에 실행하면 이전의 "HELLO" 아래에 큰 ASCII 아트로 "WORLD"가 표시됩니다. 이는 Write 함수를 두 번 호출했기 때문에 함수가 두 개의 별도 블록을 작성한다는 것을 보여줍니다.

Figlet에서 쓰기 기능이 어떻게 작동하는지 이해하기

Tim은 2분 10초에 잠시 멈춰 Spectre Console이 Figlet 텍스트를 렌더링하는 방식에 대한 중요한 세부 정보를 제공합니다. 일반적으로 AnsiConsole.Write는 WriteLine처럼 줄 바꿈을 추가하지 않습니다. 하지만 FigletText나 Panel과 같은 특정 렌더링 가능한 객체의 경우 Spectre Console은 블록을 자동으로 줄 바꿈으로 끝내므로 올바르게 표시됩니다.

그는 2분 20초에 문자열의 길이가 콘솔 창의 너비나 글꼴 파일에 따라 줄 바꿈을 유발할 수도 있지만, 이는 줄 바꿈 동작과는 별개의 문제라고 설명합니다. 이는 여러 헤더, 표 또는 진행률 표시줄을 작성하는 명령 시스템이나 스크립트를 구축하는 사용자에게 유용한 맥락입니다. 즉, Write 함수가 일반 문자열에 대해 작동하는 방식과 정확히 동일하게 작동한다고 가정할 수 없습니다.

스타일링 옵션: 색상 및 기타

2분 53초에 팀은 지정된 색상이 빨간색으로만 한정되는 것은 아니라고 지적합니다. 녹색, 흰색, 노란색 또는 라이브러리에서 지원하는 다른 색상을 사용할 수 있습니다.

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

그는 3분쯤에 "깜빡이게 만들 수도 있고" 다른 스타일을 적용할 수도 있다고 언급하지만, 이 짧은 강의에서 모든 옵션을 자세히 설명하지는 않습니다. 핵심은 FigletText 객체가 런타임에 설정하거나 변경할 수 있는 공개 속성(예: Color)을 제공한다는 것입니다.

Spectre Console Word Art Figlet 2 related to 스타일링 옵션: 색상 및 기타

이 예시는 콘솔 애플리케이션 내에서 브랜드화된 헤더, 프롬프트 또는 데이터 섹션 제목을 만들기 위해 다양한 문자열과 색상을 얼마나 쉽게 선택할 수 있는지 보여줍니다.

Figlet 글꼴 및 파일

Tim은 이 예시를 간단하게 설명했지만, 기본 시스템은 각 문자를 렌더링하기 위해 figlet 글꼴 형식(.flf 파일)을 사용합니다. Spectre Console에는 글꼴에 대한 기본값("Standard"라고 함)이 포함되어 있지만 FigletText 생성자가 다른 figlet 글꼴 파일을 지정하도록 하면 ASCII 아트의 모양을 완전히 변경할 수 있습니다.

이를 통해 사용자 지정 글꼴의 경로를 열고 프로젝트에 추가하여 완전히 다른 스타일의 배너를 생성할 수 있습니다. 이 내용은 팀의 짧은 영상에는 나오지 않지만, 그가 시연하는 API의 일부입니다.

콘솔 애플리케이션에서의 실제 활용 사례

팀은 3분 12초에 Figlet을 사용하면 애플리케이션에 흥미로운 헤더를 만들 수 있다는 점을 시청자들에게 다시 한번 상기시키며 마무리합니다. Spectre Console의 다른 기능들(예: 데이터베이스 데이터를 표시하는 테이블, 오래 걸리는 작업을 위한 진행률 표시줄, 정보를 그룹화하는 패널)과 FigletText를 결합하면 세련된 느낌의 명령 시스템을 구축할 수 있습니다.

예를 들어, Figlet 텍스트를 다음과 같은 용도로 사용할 수 있습니다.

  • 도구 또는 스크립트 시작 부분에 큰 제목이나 버전 번호를 표시합니다.

  • 검색된 데이터 표 위에 섹션 제목을 표시합니다.

  • 경고 또는 성공 메시지를 강조하기 위해 강조 색상을 제공하십시오.

  • 여러 단계로 구성된 안내 메시지 또는 서비스에서 서로 다른 작업을 분리합니다.

FigletText는 렌더링 가능한 객체이므로 변수에 저장하고, 속성(색상, 정렬, 텍스트 문자열)을 설정하거나 변경한 다음 여러 번 출력할 수 있습니다.

마무리

이 강의는 짧지만, Spectre Console의 Figlet 지원 기능을 활용하여 콘솔 출력에 즉시 스타일을 더하는 방법을 정확하게 보여줍니다.

더 자세한 내용을 알고 싶으시면 Tim은 소스 코드 및 Spectre 콘솔 문서 링크를 참조하라고 권장합니다. 다양한 스타일을 시도해보고 싶다면 여기에서 추가 Figlet 글꼴을 다운로드할 수도 있습니다.

팀 코리의 영상에서 얻은 핵심 요점

  • Spectre Console Figlet을 사용하면 FigletText 객체를 이용하여 ASCII 배너를 렌더링할 수 있습니다.

  • 인라인으로 생성하거나 새 인스턴스로 생성한 다음 속성을 설정하고 저장할 수 있습니다.

  • 기본적으로 Figlet 내장 글꼴을 사용하지만 사용자 지정 .flf 글꼴 파일을 불러올 수도 있습니다.

  • .Centered() 및 .Color(Color.Red)는 적용할 수 있는 스타일의 예입니다.

  • AnsiConsole.Write는 Figlet 텍스트에 자동으로 줄 바꿈을 추가합니다.

  • 이 기능은 콘솔 애플리케이션에서 헤더, 제목 또는 섹션 구분 기호에 사용하기에 적합합니다.

Tim Corey의 비디오를 따라하면 Spectre Console의 Figlet 지원 기능을 즉시 사용하여 명령줄 도구를 향상시킬 수 있습니다. 검색된 데이터를 표시하든, 프롬프트를 작성하든, 스크립트에 스타일을 추가하든, FigletText는 최소한의 코드로 콘솔에 대담하고 다채로운 느낌을 더해줍니다.

Hero Worlddot related to FIGlet으로 워드 아트 만들기 - Spectre 콘솔 시리즈
Hero Affiliate related to FIGlet으로 워드 아트 만들기 - Spectre 콘솔 시리즈

사랑하는 것을 공유하여 더 많은 수익을 얻으세요

당신은 .NET, C#, Java, Python, 또는 Node.js를 다루는 개발자를 위한 콘텐츠를 만드나요? 당신의 전문성을 추가 수입으로 전환하세요!

아이언 서포트 팀

저희는 주 5일, 24시간 온라인으로 운영합니다.
채팅
이메일
전화해