Zephyrnet Logosu

Python Kullanarak Görüntüye Metin Yerleştirme - Bölüm I

Tarih:

Haptıkler

Bilgisayar grafikleri öğretir güzel şekiller, sanatsal tipografi, göz alıcı resimler çizmek için ekrandaki bir pikselin nasıl manipüle edilebileceğini bize gösteriyor. 'beni-iyi-görünüm yap ' fotoğraf filtreleri ve çok daha fazlası. Donanım üreticileri, araştırmacılar, yazılım geliştiriciler, harika ürünler oluşturmak için birlikte çalışırlar: akıllı telefonlar, akıllı saatler, akıllı TV'ler, kameralar ve hepsi bilgisayar grafikleri çalışmasıyla.

Bilgisayar grafiklerinin bu kadar hızlı gelişmesine ve Adobe Photoshop, Adobe Illustrator, Sketch gibi yazılımların geliştirilmesi hayatımızı büyük ölçüde kolaylaştırmasına rağmen, hala görüntü üretemiyoruz. anında onlarla. Bunu yapmak için, sürükleyip bırakmanın, süslü "tümünü seç-kalın yap" klavye kısayollarının, kırpmanın ve kopyalayıp yapıştırmanın olmadığı bir düzeye ulaşmamız gerekecek.

Ve oraya zaman yolculuğu ile ulaşamayız, ama kesinlikle kodla!

Gelin, favori metin düzenleyicinizi açın, beni takip edin, ben de resimlere dinamik metin verileri çizmenize yardımcı olayım. sahip olduğunu varsayıyorum Python ve bip bilgisayarınızda yüklü, ancak yüklü değilse, geliştirme ortamını kurmak için bağlantılardaki adımları izleyin. Kurulumu tamamladıktan sonra, kabuktan yüklemek için aşağıdaki komutu yürütün Yastık(daha fazla detay okuyun) ve bağımlılıkları.

Artık tüm bağımlılıkları yüklediğinize göre, ilerleyelim ve biraz kod yazalım. Yastık geniş bir kütüphanedir, ancak amacımız için aşağıdaki sınıfları kullanacağız:

Aşağıdaki arka plan görüntüsünü alalım ve aşağıdaki kodla başlatalım:

Kod:

# import required classes

from PIL import Image , ImageDraw , ImageFont

# create Image object with the input image

image = Image . open ( 'background.png' )

# initialise the drawing context with

# the image object as background

draw = ImageDraw . Draw ( image )

ImageFont nesneleri oluşturmak için ayrıca font(ttf, otf) dosyalarına ihtiyacımız var. İstediğiniz herhangi bir yazı tipini kullanabilirsiniz, burada ben kullanacağım Roboto adresinden indirilebilen yazı tipi Google Yazı Tipleri GitHub deposu .

# create font object with the font file and specify

# starting position of the message

message = "Happy Birthday!"

color = 'rgb(0, 0, 0)' # black color

# draw the message on the background

color = 'rgb(255, 255, 255)' # white color

image . save ( 'greeting_card.png' )

Bazı yazı tiplerinde isteğe bağlı bir parametre iletmeniz gerekebilir kodlama bu, ImageFont modülüne yazı tipi dosyasını açarken hangi kodlamanın kullanılacağını söyler.

Bilgisayar grafikleri ters bir koordinat sistemine sahiptir, buradaki metin kutusunun soldan uzaklığını temsil eder kaynak(0, 0) bu görüntünün sol üst köşesinde yer alır. x(x=0) ve y üstten olan mesafeyi temsil eder (y=0).

Görüntüyü kaydederken, gibi isteğe bağlı parametreleri iletebilirsiniz. optimizeve kalite Çıktı görüntüsünün boyutunu kontrol etmek için.

image.save('optimized.png', optimize=True, quality=20)

Bu bir oluşturur çıktı görüntüsü Optimize edilmiş.png kalitesi düşürüldü, ancak boyutu daha küçük.

1. Chatbot Trendleri Raporu 2021

2. Bir Chatbot NLP Modeli Eğitimi için 4 YAPILMASI ve 3 YAPILMAMASI GEREKENLER

3. Konsiyerj Botu: Tek Bir Sohbet Ekranından Birden Fazla Sohbet Robotunu Yönetin

4. Uzman bir sistem: Konuşmalı Yapay Zeka ve Sohbet Robotları

İşteyken, kısa bir süre önce bir lider panosu görüntüsü oluşturulmasını talep eden bir özellik geliştirdim. anında, kullanıcıya özel sınav puanı verileriyle. Ve sadece birkaç satır kodla şöyle bir resim oluşturabildim:

Haptik Haftalık Sınav Skor Tablosu

İşte! Harika görünüyordu ve hareket halindeyken görüntü oluşturma fikrini diğer kullanım durumları için de kullanmaya karar verdik. Şu anda, Şakalar, Motivasyonel Sözler, Yıldız Falları, Günün Sözü vb. için gerçek zamanlı ve farklı API yanıtlarından alınan verilerle görüntüler oluşturmak için Cushion kullanıyoruz.

Haptik Motivasyon Alıntısı ve Günün Sözü

Bu yazıda kullandığımız kod, yukarıdaki resimlerde gösterildiği gibi metin kutuları çizmek için yeterli değildir. yazıyor olacağım başka bir gönderi bu, metin hizalamaya, uzun metni birden çok satıra bölmeye, iki satır arasındaki boşluğu kontrol etmeye ve daha fazlasına odaklanacaktır.

Lütfen aşağıdaki yorumlar bölümünde bize görüşlerinizi bildirin. Haptik kiralama. bizim ziyaret edin kariyer bölümü veya bizimle şu adresten iletişime geçin: merhaba@haptik.ai.

Adresimiz

Coinsmart. Europa İçindeki En İyi Bitcoin-Börse
Source: https://chatbotslife.com/putting-text-on-image-using-python-part-i-66890abb7f26?source=rss—-a49517e4c30b—4

spot_img

En Son İstihbarat

spot_img