IRONSOFTWAREHOME

using FIGlet 建立字圖藝術 - Spectre Console 系列

Creating Word Art with FIGlet - Spectre Console Series

Tim Corey

3m 47s

Spectre Console 是一個設計為增強控制台應用程式的 .NET 程式庫,可提供豐富的文字、面板、表格、進度條,甚至是 ASCII 文字藝術。 您可以為您顯示的資料新增顏色、對齊和視覺結構,而不再局限於簡單的黑白輸出。 其最引人注目的功能之一是 Spectre Console Figlet,它允許您使用經典的 Figlet 字體格式渲染大型文字橫幅。

在本文中,我們將透過 Tim Corey 的影片 "Creating Word Art with Figlet - Spectre Console Series" 更深入地了解此功能。

在 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 物件),您可以建立一個新實例,然後進行樣式設置。

Tim 在 0:22 提到,此範例的原始碼在影片說明中連結,觀眾可以下載並跟進。

第一個範例:內嵌 Spectre Console Figlet 文字

在 0:38 時,Tim 以他所稱的"簡單內嵌方式"開始。這是您在單一語句中建立並渲染 Spectre Console Figlet Text 物件的位置:

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

在 0:46 時,Tim 解釋他正在建立一個帶有字串參數 "Hello" 的新 FigletText 實例。 此參數是要渲染的文字。

在 0:53 時,他直接在物件上連結樣式方法。 在 1:00 時,首先 .Centered() 用於對 ASCII 橫幅的可用列進行對齊和左右對稱。 在 1:02 時,然後 .Color(Color.Red) 用於指定顏色 — 在此例中為紅色作為強調色。

當 Tim 在 1:12 時執行此程式碼時,控制台顯示了一個粗體紅色 ASCII 的"HELLO",使用內建的 Figlet 字體格式。 這是一種快速新增大型標題或頁眉到控制台應用程式的方式。

第二個範例:重複使用 FigletText 物件

在 1:22 時,Tim 顯示第二種模式:而不是內嵌建立 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:04 時執行時,這會在之前的 "HELLO" 下面顯示"大型 ASCII 藝術的"WORLD"。 這顯示鏈結函式寫入了兩個獨立的模塊,因為您已調用 Write 兩次。

瞭解 Write 如何與 Figlet 一同工作

Tim 在 2:10 時暫停以提供關於 Spectre Console 如何渲染 Figlet 文字的重要細節。 通常,AnsiConsole.Write 不會像 WriteLine 那樣附加新行。 但對於某些可渲染物件 — 如 FigletText 或 Panel — Spectre Console 會自動用新行結束模塊,以便正確顯示。

他在 2:20 時解釋說,字串的長度也可能根據控制台窗口的寬度或字體文件而導致換行,但這是與新行行為無關的另一個問題。 這對於構建命令系統或撰寫多個標題、表格或進度條的腳本的使用者來說是有用的背景資訊:您不能指望 Write 的行為就像它對普通字串那樣。

樣式選項:顏色及其他

在 2:53 時,Tim 指出您不僅限於紅色作為指定顏色。 您可以使用綠色、白色、黃色或該程式庫支持的任何顏色:

figlet.Color(Color.Yellow);

他在 3:00 時指出,您還可以"讓它閃爍"並應用其他樣式,雖然他在這個簡短的課程中不會介紹每個選項。 關鍵是 FigletText 物件提供了許多公共屬性(如顏色),您可以在運行時設置或切換。

這顯示了如何輕鬆選擇不同的字串和顏色,以建立品牌標題、提示或資料部分名稱在您的控制台應用程式。

Figlet 字體與文件

儘管 Tim 使此範例簡單,但底層系統使用 figlet 字體格式(.flf 文件)來渲染每個字元。 Spectre Console 包含一個名為"Standard"的字體的預設值,但您可以將 FigletText 構造函式指向不同的 figlet 字體文件,從而完全改變您的 ASCII 藝術風格。

這使得可以打開一個指向自定義字體的路徑,將其新增到您的專案中,並返回完全不同風格的橫幅。 這在 Tim 的短片中沒有顯示,但這是他演示的同一 API 的一部分。

在控制台應用程式中的實際用途

Tim 在 3:12 時結束時提醒觀眾說 Figlet 可以用來為您的應用程式建立有趣的標題。 與 Spectre Console 的其他功能結合使用,如顯示資料庫資料的表格、長時間執行任務的進度條以及用於分組資訊的面板,FigletText 可以幫助您構建一種感覺精緻的命令系統。

例如,您可能使用 Figlet 文字來:

  • 在工具或腳本的開始顯示大標題或版本號。

  • 在查詢的資料表上顯示部分標題。

  • 提供一種強調顏色,以突出顯示警告或成功資訊。

  • 在多步提示或服務中分隔不同的操作。

因為 FigletText 是一個可渲染的物件,您可以將其儲存在一個變數中,設置或更改其屬性(顏色、對齊、文字字串),然後多次寫出它。

總結

這堂課或許短暫,但確切地展示了如何使用 Spectre Console 的 Figlet 支援以為您的控制台輸出增添即時風格。

如果您想要更多詳細資訊,Tim 建議您存取源程式碼和 Spectre Console 文件的連結。 那裡您還可以下載額外的 Figlet 字體,如果您想嘗試不同的風格。

Tim Corey 的影片中的關鍵點

  • Spectre Console Figlet 讓您使用 FigletText 物件來渲染 ASCII 橫幅。

  • 您可以內嵌或作為新實例建立它,設置其屬性,然後寫出它。

  • 它預設使用內建的 Figlet 字體,但可以載入自定義 .flf 字體文件。

  • .Centered() 和 .Color(Color.Red) 是您可以應用的樣式範例。

  • AnsiConsole.Write 自動為 Figlet 文字新增新行。

  • 此功能非常適合用於控制台應用程式中的標題、標題或分隔區段。

透過跟隨 Tim Corey 的 影片,您可以立即開始使用 Spectre Console 的 Figlet 支援來增強您自己的命令行工具。 無論您是顯示檢索到的資料、撰寫提示還是僅僅為腳本增添風格,FigletText 都能為您的控制台提供粗體、彩色的優勢,只需少量程式碼。

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
獲取您的無義務諮詢
填寫以下表格或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
被全球數百萬工程師信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立