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!

Tim Corey
3m 47s
Spectre Console, zengin metin, panolar, tablolar, ilerleme çubukları ve hatta ASCII kelime sanatı ile konsol uygulamalarını geliştirmek için tasarlanmış bir .NET kütüphanesidir. Yalnızca siyah beyaz çıkışa sıkışmak yerine, görüntülediğiniz verilere renk, hizalama ve görsel yapı ekleyebilirsiniz. En göz alıcı özelliklerinden biri olan Spectre Console Figlet, klasik Figlet yazı tipi formatını kullanarak büyük metin afişlerini çizmenize olanak tanır.
Bu makalede, Tim Corey'nin "Figlet ile Kelime Sanatı Oluşturma - Spectre Console Serisi" videosu üzerinden bu özelliğe daha yakından bakacağız.
izleyicilere
0:16'da derste "Bir sistem olan Figlet using kullanarak ASCII kelime sanatı oluşturacağız" diyor. Figlet, metni bir figlet yazı tipi dosyası kullanarak (genellikle bir .flf uzantısıyla) afiş stili ASCII sanatı olarak görselleştirmek için on yıllardır kullanılmaktadır. Spectre Console varsayılan olarak bir yerleşik Figlet fontuyla gelir, ancak başkalarını da yükleyebilir. Kütüphane bu yeteneği, FigletText adlı bir sınıfta kapsar (bazen Spectre Figlet Text nesnesi olarak anılır), bir yeni örnek olarak oluşturup ardından stil ekleyebilirsiniz.
0:22'de Tim, bu örneğin kaynak kodunun video açıklamasında bağlantılı olduğunu, böylece izleyicilerin indirip takip edebileceğini belirtiyor.
0:38'de Tim, "kolay satır içi yol" dediği ile başlıyor. Bu, Spectre Console Figlet Text nesnesini tek bir ifade içinde oluşturup yürüttüğünüz yerdir:
AnsiConsole.Write(
new FigletText("Hello")
.Centered()
.Color(Color.Red)
);AnsiConsole.Write(
New FigletText("Hello") _
.Centered() _
.Color(Color.Red)
)0:46'da Tim, "Hello" dizesi parametresiyle FigletText yeni bir örnek oluşturduğunu açıklar. Bu parametre, görselleştirilecek metindir.
0:53'te, stili gerçekleştiren yöntemleri doğrudan nesneye zincirler. İlk olarak .Centered() 1:00'da ASCII afişi mevcut sütunların ortasına hizalamak için kullanır. Sonra .Color(Color.Red) 1:02'de belirli bir renk uygular — bu durumda, vurgu rengi olarak kırmızı.
Tim bu kodu 1:12'de çalıştırdığında, konsol yerleşik Figlet yazı tipi formatında kalın, kırmızı bir ASCII "HELLO" görüntüler. Konsol uygulamanıza büyük bir başlık veya başlık eklemenin hızlı bir yoludur.

1:22'de Tim, ikinci bir desen gösterir: Figlet metni satır içinde oluşturmak yerine, önce bir değişken oluşturursunuz. Bu, özellikleri ayarlamayı veya depolamayı, stilleri değiştirmeyi veya aynı nesneyi yeniden kullanmayı kolaylaştırır.
var figlet = new FigletText("World");
figlet.Centered();
figlet.Color(Color.Red);
AnsiConsole.Write(figlet);Dim figlet = New FigletText("World")
figlet.Centered()
figlet.Color(Color.Red)
AnsiConsole.Write(figlet)1:28'de Tim, "World" dizesiyle yeni bir örnek oluşturur. 1:41'de .Centered() çağırarak ortalatır. 1:44'te tekrar rengi ayarlar — Tim esprili bir şekilde "neden olmasın ki kırmızı yapalım?" der ve 1:59'da objeyi AnsiConsole.Write(f]]; ile konsola yazar.
2:04'te çalıştırıldığında, önceki "HELLO"nun altında büyük ASCII sanatı "WORLD" görüntüler. Bu yazma işlevinin iki ayrı blok yazdırdığını gösterir çünkü Write iki kez çağrıldı.
Tim, 2:10'da Spectre Console'un Figlet metnini nasıl çizdiğine dair önemli bir ayrıntıya dikkati çeker. Normalde, AnsiConsole.Write, WriteLine gibi bir yeni satır eklemez. Ancak FigletText veya bir Panel gibi belirli çizilebilir nesnelerde, Spectre Console bloğu otomatik olarak bir yeni satırla sonlandırır, böylece doğru bir şekilde görüntülenir.
2:20'de Tim, dize uzunluğunun da konsol pencerenizin genişliğine veya yazı tipi dosyasına bağlı olarak sarmaya neden olabileceğini, ancak bunun yeni satır davranışından ayrı bir mesele olduğunu açıklar. Bu, birden fazla başlık, tablo veya ilerleme çubuğu yazan komut sistemleri veya betikler oluşturan kullanıcılar için faydalı bir bağlamdır: Write'ın düz dizeler için olduğu gibi davranacağını düşünemezsiniz.
2:53'te Tim, belirli bir renk olarak kırmızı ile sınırlı olmadığınızı belirtir. Kütüphanenin desteklediği herhangi bir rengi, yeşil, beyaz, sarı veya diğerlerini kullanabilirsiniz:
figlet.Color(Color.Yellow);figlet.Color(Color.Yellow)3:00'da bu şeffaf olduğunu, hatta başka stiller uygulanabileceğini; her seçeneği bu kısa ders içinde detaylandırmadığını belirtir. Önemli çıkış noktası, FigletText nesnesinin (Color gibi) ayarlayıp veya çalışma sırasında değiştirebileceğiniz genel özellikler sunduğudur.

Bu, farklı dizeleri ve renkleri kolayca seçip konsol uygulamanız içinde markalı başlıklar, istemler veya veri bölümü başlıkları oluşturarak nasıl kullanılabileceğinizi gösterir.
Tim bu örneği basit tutsa da, temel sistem her karakteri çizmek için bir figlet yazı tipi formatı (.flf dosyaları) kullanır. Spectre Console, font için bir varsayılan değer ("Standard" olarak adlandırılır) içerir, ancak FigletText yapıcısını başka bir figlet font dosyasına işaret ederek ASCII sanatınızın görünümünü tamamen değiştirebilirsiniz.
Bu, özel bir yola bir yazı tipi açmak, onu projenize eklemek ve tamamen farklı bir afiş stili ile geri dönmek anlamına gelir. Bu, Tim'in kısa videosunda gösterilmemiştir, ancak gösterdiği aynı API'nin bir parçasıdır.
Tim, 3:12'de izleyicilere Figlet'in uygulamanız için ilginç başlıklar oluşturmak üzere kullanılabileceğini hatırlatır. Spectre Console'un diğer özellikleriyle — veritabanı verilerini göstermek için tablolar, uzun süreli görevler için ilerleme çubukları ve bilgiler gruplamak için paneller gibi — birleştirildiğinde, FigletText, cilalanmış bir komut sistemi oluşturmanıza yardımcı olabilir.
Örneğin, Figlet metnini kullanarak:
Bir aracın veya betiğin başında büyük bir başlık veya sürüm numarası gösterebilirsiniz.
Alınan verilerin tablolarının üstünde bölüm başlıkları gösterebilirsiniz.
Bir uyarı veya başarı mesajını vurgulamak için bir vurgu rengi sağlayabilirsiniz.
Çok adımlı bir istem veya hizmette farklı işlemleri ayırabilirsiniz.
Çünkü FigletText çizilebilir bir nesnedir, bir değişken içinde saklayabilir, özelliklerini ayarlayıp değiştirebilir (renk, hizalama, metin dizesi) ve ardından birden fazla kez yazabilirsiniz.
Ders hızlı olabilir, ancak Spectre Console'un Figlet desteğini konsol çıktınıza anında stil eklemek için tam olarak nasıl kullanacağınızı gösterir.
Daha fazla ayrıntı isterseniz, Tim, kaynak koduna ve Spectre Console belgelerine bağlantı yaptığını önerir. Ayrıca, farklı stillerle denemeler yapmak istiyorsanız, ek Figlet yazı tiplerini de oradan indirebilirsiniz.
Spectre Console Figlet, FigletText nesnesini kullanarak ASCII pankartları oluşturmanıza olanak tanır.
Bunu satır içi veya yeni bir örnek olarak oluşturabilir, özelliklerini ayarlayıp ardından yazabilirsiniz.
Varsayılan olarak yerleşik bir Figlet font kullanır, ancak özel .flf font dosyalarını yükleyebilir.
.Centered() ve .Color(Color.Red), uygulayabileceğiniz stil örnekleridir.
AnsiConsole.Write, Figlet metni için otomatik olarak bir yeni satır ekler.
Bu özellik, konsol uygulamalarında başlıklar, başlıklar veya bölüm kesmeleri için mükemmeldir.
Tim Corey'nin videosunu takip ederek, kendi komut satırı araçlarınızı geliştirmek için Spectre Console'un Figlet desteğini hemen kullanmaya başlayabilirsiniz. İster alınan verileri görüntüleyin, ister istemler yazın, ister yalnızca bir betiğe stil ekleyin, FigletText minimal kodla konsolunuza cesur, renkli bir kenar sunar.
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!
Join our newsletter, you’ll get exclusive access on article updates. We value your privacy