Zum Fußzeileninhalt springen
Iron Academy Logo
C#-Anwendung
C#-Anwendung

Andere Kategorien

Erstellen von Word Art mit FIGlet - Spectre Console Series

Tim Corey
3m 47s

Spectre Console ist eine .NET-Bibliothek zur Erweiterung von Konsolenanwendungen um Rich-Text, Panels, Tabellen, Fortschrittsbalken und sogar ASCII-Wortkunst. Anstatt sich mit einer einfachen Schwarz-Weiß-Ausgabe abzufinden, können Sie die angezeigten Daten mit Farbe, Ausrichtung und visueller Struktur versehen. Eine der auffälligsten Funktionen ist Spectre Console Figlet, mit der Sie große Textbanner im klassischen Figlet-Schriftformat rendern können.

In diesem Artikel werden wir diese Funktion anhand des Videos von Tim Corey über "Creating Word Art with Figlet - Spectre Console Series" näher beleuchten.

Einführung in Figlet in Spectre Console

Bei 0:00 erinnert Tim die Zuschauer daran, dass "Spectre Console es Ihnen ermöglicht, Ihre C#-Konsolenanwendungen in visuell ansprechende, informative Anwendungen zu verwandeln." Er beschreibt die Bibliothek als eine Möglichkeit, voll funktionsfähige Befehlszeilentools mit Bedienfeldern, Tabellen, Fortschrittsanzeigen und anderen Diensten zu erstellen, anstatt ANSI-Codes manuell zu schreiben.

Bei 0:16 sagt er: "In dieser Lektion werden wir ASCII-Wortkunst mit einem System namens Figlet erstellen." Figlet ist ein seit Jahrzehnten bekanntes System, mit dem Text in ASCII-Kunstwerke im Banner-Stil umgewandelt werden kann, wobei eine Figlet-Schriftdatei (oft mit der Erweiterung .flf) verwendet wird. Spectre Console wird standardmäßig mit einer integrierten Figlet-Schriftart ausgeliefert, kann aber auch andere Schriftarten laden. Die Bibliothek verpackt diese Fähigkeit in eine Klasse namens FigletText (manchmal auch als Spectre-Figlet-Text-Objekt bezeichnet), die Sie als neue Instanz erstellen und dann gestalten können.

Tim merkt bei 0:22 an, dass der Quellcode für dieses Beispiel in der Videobeschreibung verlinkt ist, damit die Zuschauer ihn herunterladen und mitverfolgen können.

Erstes Beispiel: Inline Spectre Konsole Figlet Text

Bei 0:38 beginnt Tim mit dem, was er "den einfachen Inline-Weg" nennt Dabei wird das Spectre Console Figlet Text-Objekt in einer einzigen Anweisung erstellt und gerendert:

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

Bei 0:46 erklärt Tim, dass er eine neue Instanz von FigletText mit dem String-Parameter "Hello" erstellt. Dieser Parameter ist der zu übersetzende Text.

Bei 0:53 kettet er Styling-Methoden direkt an das Objekt. Setzen Sie zunächst .Centered() um 1:00 Uhr ein, um das ASCII-Banner in der Mitte der verfügbaren Spalten zu justieren und auszurichten. Dann .Farbe(Farbe.Rot) bei 1:02, um eine bestimmte Farbe anzuwenden - in diesem Fall Rot als Akzentfarbe.

Wenn Tim diesen Code bei 1:12 ausführt, zeigt die Konsole ein fettes, rotes ASCII-"HELLO" im integrierten Figlet-Schriftformat an. Es ist eine schnelle Möglichkeit, Ihrer Konsolenanwendung einen großen Titel oder eine Kopfzeile hinzuzufügen.

Spectre Console Word Art Figlet 1 related to Erstes Beispiel: Inline Spectre Konsole Figlet Text

Zweites Beispiel: Wiederverwendung eines FigletText-Objekts

Bei 1:22 zeigt Tim ein zweites Muster: Anstatt den Figlet-Text inline zu erstellen, erstellen Sie zuerst eine Variable. Dies erleichtert das Festlegen oder Speichern von Eigenschaften, das Ändern von Stilen oder die Wiederverwendung desselben Objekts.

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);

Bei 1:28 erstellt Tim die neue Instanz mit der Zeichenfolge "World". Bei 1:41 ruft er .Centered() auf, um es zu zentrieren. Bei 1:44 setzt er die Farbe erneut - er scherzt "let's do red because why not?" - und bei 1:59 schreibt er das Objekt mit AnsiConsole.Write(figlet); in die Konsole.

Bei der Ausführung um 2:04 wird "WORLD" unter dem vorherigen "HELLO" in großer ASCII-Kunst angezeigt. Dies zeigt, dass die Funktion zwei separate Blöcke schreibt, da Sie Write zweimal aufgerufen haben.

Verstehen, wie Schreiben mit Figlet funktioniert

Tim macht bei 2:10 eine Pause, um ein wichtiges Detail darüber zu geben, wie Spectre Console Figlet-Text wiedergibt. Normalerweise wird bei AnsiConsole.Write kein Zeilenumbruch angehängt, wie es bei WriteLine der Fall ist. Bei bestimmten renderbaren Objekten - wie FigletText oder einem Panel - beendet Spectre Console den Block jedoch automatisch mit einem Zeilenumbruch, damit er korrekt angezeigt wird.

Bei 2:20 erklärt er, dass die Länge der Zeichenkette je nach Breite des Konsolenfensters oder der Schriftartdatei ebenfalls einen Zeilenumbruch verursachen kann, aber das ist ein anderes Thema als das Verhalten bei Zeilenumbrüchen. Dies ist ein nützlicher Kontext für Benutzer, die Befehlssysteme oder Skripte erstellen, die mehrere Kopfzeilen, Tabellen oder Fortschrittsbalken schreiben: Sie können sich nicht darauf verlassen, dass Write genauso funktioniert wie bei einfachen Zeichenketten.

Styling-Optionen: Farben und mehr

Bei 2:53 weist Tim darauf hin, dass man nicht auf Rot als vorgegebene Farbe beschränkt ist. Sie können grün, weiß, gelb oder eine andere der von der Bibliothek unterstützten Farben verwenden:

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

Bei 3:00 merkt er an, dass man es auch "blinken" lassen und andere Stile anwenden kann, obwohl er in dieser kurzen Lektion nicht auf jede Option eingeht. Die wichtigste Erkenntnis ist, dass das FigletText-Objekt öffentliche Eigenschaften (wie z. B. Farbe) aufweist, die Sie zur Laufzeit einstellen oder umschalten können.

Spectre Console Word Art Figlet 2 related to Styling-Optionen: Farben und mehr

Dies zeigt, wie einfach Sie verschiedene Zeichenketten und Farben auswählen können, um Kopfzeilen, Eingabeaufforderungen oder Datenabschnittsüberschriften in Ihrer Konsolenanwendung mit Ihrem Markenzeichen zu erstellen.

Figlet-Schriften und Dateien

Obwohl Tim dieses Beispiel einfach hält, verwendet das zugrunde liegende System ein Figlet-Schriftformat (.flf-Dateien), um jedes Zeichen darzustellen. Spectre Console enthält einen Standardwert für die Schriftart (Standard"), aber Sie können den FigletText-Konstruktor auf eine andere Figlet-Schriftartdatei verweisen, um das Aussehen Ihrer ASCII-Kunst vollständig zu ändern.

So ist es möglich, einen Pfad zu einer benutzerdefinierten Schriftart zu öffnen, diese zu Ihrem Projekt hinzuzufügen und einen völlig anderen Stil des Banners zu erhalten. Dies wird in Tims kurzem Video nicht gezeigt, ist aber Teil der gleichen API, die er demonstriert.

Praktische Verwendungen in Konsolenanwendungen

Tim schließt bei 3:12 ab, indem er die Zuschauer daran erinnert, dass Figlet verwendet werden kann, um interessante Header für Ihre Anwendung zu erstellen. In Kombination mit den anderen Funktionen von Spectre Console - wie z. B. Tabellen für die Anzeige von Datenbankdaten, Fortschrittsbalken für lang laufende Aufgaben und Panels für die Gruppierung von Informationen - kann FigletText Ihnen helfen, ein Befehlssystem zu erstellen, das sich ausgefeilt anfühlt.

Zum Beispiel könnten Sie Figlet-Text verwenden, um:

  • Zeigen Sie einen großen Titel oder eine Versionsnummer am Anfang eines Tools oder Skripts an.

  • Zeigen Sie Abschnittsüberschriften über Tabellen mit abgerufenen Daten an.

  • Setzen Sie eine Akzentfarbe ein, um eine Warn- oder Erfolgsmeldung hervorzuheben.

  • Trennen Sie verschiedene Aktionen in einer mehrstufigen Aufforderung oder einem Dienst.

Da es sich bei FigletText um ein renderbares Objekt handelt, können Sie es in einer Variablen speichern, seine Eigenschaften (Farbe, Ausrichtung, Textzeichenfolge) einstellen oder ändern und es dann mehrfach ausgeben.

Zusammenfassung

Die Lektion ist zwar kurz, aber sie zeigt genau, wie man die Figlet-Unterstützung von Spectre Console nutzt, um der Konsolenausgabe sofort Stil zu verleihen.

Für weitere Details empfiehlt Tim den Link zum Quellcode und zur Dokumentation der Spectre Console. Dort können Sie auch zusätzliche Figlet-Schriften herunterladen, wenn Sie mit verschiedenen Stilen experimentieren möchten.

Wichtige Punkte aus Tim Coreys Video

  • Mit Spectre Console Figlet können Sie ASCII-Banner mithilfe eines FigletText-Objekts rendern.

  • Sie können sie inline oder als neue Instanz erstellen, ihre Eigenschaften festlegen und sie dann schreiben.

  • Es wird standardmäßig eine integrierte Figlet-Schriftart verwendet, es können aber auch benutzerdefinierte .flf-Schriftartendateien geladen werden.

  • .Centered() und .Color(Color.Red) sind Beispiele für Stile, die Sie anwenden können.

  • AnsiConsole.Write fügt automatisch einen Zeilenumbruch für Figlet-Text ein.

  • Diese Funktion ist perfekt für Überschriften, Titel oder Abschnittswechsel in Konsolenanwendungen.

Wenn Sie dem Video von Tim Corey folgen, können Sie sofort damit beginnen, die Figlet-Unterstützung von Spectre Console zu nutzen, um Ihre eigenen Befehlszeilen-Tools zu verbessern. Ganz gleich, ob Sie abgefragte Daten anzeigen, Eingabeaufforderungen schreiben oder einfach nur ein Skript aufpeppen möchten, FigletText verleiht Ihrer Konsole mit minimalem Code einen kräftigen, farbenfrohen Anstrich.

Hero Worlddot related to Erstellen von Word Art mit FIGlet - Spectre Console Series
Hero Affiliate related to Erstellen von Word Art mit FIGlet - Spectre Console Series

Verdienen Sie mehr, indem Sie teilen, was Sie lieben

Erstellen Sie Inhalte für Entwickler, die mit .NET, C#, Java, Python oder Node.js arbeiten? Verwandeln Sie Ihr Fachwissen in ein zusätzliches Einkommen!

Iron Support Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an