- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
Bugün, Python'ın gücünü kullanarak akıllı telefonlarımızda gördüğümüz o kare barkodları, yani QR kodlarını nasıl oluşturacağımızı öğreneceğiz. Bu, hem çok pratik bir beceri hem de Python'da harici kütüphaneleri (external libraries) nasıl kullanacağınızı gösteren harika bir örnektir.
QR kodları; URL'lerden metinlere, Wi-Fi şifrelerinden kartvizit bilgilerine kadar her şeyi depolayabilir. Hazırsanız, kendi QR kodlarımızı oluşturmaya başlayalım!
Öncelikle, bu projeyi çalıştırabilmeniz için qrcode kütüphanesini kurmanız gerekiyor. Terminalinize aşağıdaki komutu yazarak kurabilirsiniz:
pip install qrcode Pillow
Pillow kütüphanesi, qrcode kütüphanesinin görüntüyü işleyebilmesi için gereklidir.
import qrcode
import os # Dosya yolları ve klasör işlemleri için
def qr_kod_olustur():
print("-" * 50)
print("Python QR Kod Oluşturucuya Hoş Geldiniz")
print("-" * 50)
# Kullanıcıdan veri al
veri = input("QR koduna dönüştürmek istediğiniz metni veya URL'yi girin: ")
if not veri:
print("QR koduna dönüştürülecek bir veri girmelisiniz!")
return
# Dosya adını al
dosya_adi = input("Oluşturulacak QR kod dosyasının adını girin (örn: benim_qrim.png): ")
if not dosya_adi.strip(): # Kullanıcı boş bırakırsa varsayılan isim ata
dosya_adi = "varsayilan_qr_kodu.png"
elif not dosya_adi.endswith(".png"): # .png uzantısı yoksa ekle
dosya_adi += ".png"
# 1. QR Kod Objesi Oluşturma
# version: QR kodun karmaşıklığı (1-40 arası, 1 en basitidir)
# error_correction: Hata düzeltme seviyesi (L, M, Q, H - L en düşük, H en yüksek)
# box_size: Her kutunun piksel boyutu
# border: QR kodun etrafındaki boş beyaz alan (kutu sayısı)
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
# 2. Veriyi QR Koda Ekleme
qr.add_data(veri)
qr.make(fit=True) # Veriyi QR kodun boyutuna göre otomatik ayarlar
# 3. Görüntü Oluşturma
# fill_color: QR kodun renkli kısımları
# back_color: Arka plan rengi
img = qr.make_image(fill_color="black", back_color="white")
# 4. QR Kodu Kaydetme
try:
# Kodun çalıştığı klasörde 'qr_kodlar' adında bir klasör oluştur
output_folder = "qr_kodlar"
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# Tam dosya yolunu oluştur
file_path = os.path.join(output_folder, dosya_adi)
img.save(file_path)
print("=" * 50)
print(f"QR Kodunuz başarıyla oluşturuldu ve '{file_path}' konumuna kaydedildi.")
print("=" * 50)
except Exception as e:
print(f"Hata oluştu, QR kod kaydedilemedi: {e}")
# Programı başlat
if __name__ == "__main__":
qr_kod_olustur()
Bu proje, harici kütüphanelerin Python projelerinize ne kadar güç katabileceğini gösteren harika bir örnektir. Kendi başınıza bir QR kod algoritması yazmak yerine, uzmanların geliştirdiği bir aracı kolayca kullanırız.
# Terminalde çalıştırmanız gereken komut:
# pip install qrcode Pillow
import qrcode
import os
qrcode: Bu kütüphane, metin verisini alıp bir QR kod görüntüsü oluşturma işini yapar. Bizim için tüm karmaşık matematiksel algoritmaları halleder.
Pillow (PIL): qrcode kütüphanesi, oluşturduğu QR kod verisini görsel bir dosyaya (.png, .jpg vb.) dönüştürmek için Pillow kütüphanesine ihtiyaç duyar.
os: Bu Python'ın yerleşik bir modülüdür. Özellikle dosya sistemiyle etkileşime girmek (klasör oluşturma, dosya yollarını birleştirme gibi) için kullanırız.
qrcode.QRCode)qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
qrcode.QRCode(): Bu, bir QR kod nesnesi oluşturmamızı sağlar ve bazı temel ayarları yapmamıza olanak tanır:
version: QR kodun karmaşıklık seviyesidir (1'den 40'a kadar). 1 en basitidir ve az veri içerir. Genellikle 1-4 arası başlangıç için yeterlidir.
error_correction: Hata düzeltme seviyesini belirler. Eğer QR kodun bir kısmı hasar görse bile taranabilmesini sağlar. L (düşük) en az hata düzeltme, H (yüksek) en fazla hata düzeltme sunar.
box_size: QR kodun içindeki her bir "kutu"nun (modülün) piksel cinsinden boyutudur. Büyük değerler, daha büyük bir görüntü oluşturur.
border: QR kodun etrafındaki beyaz boşluğun kaç tane kutu genişliğinde olacağını belirler. İyi bir tarama için genellikle 4 veya daha fazlası önerilir.
qr.add_data(veri)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
qr.add_data(veri): Kullanıcıdan aldığımız metni veya URL'yi QR kod nesnesine ekleriz.
qr.make(fit=True): Eklenen veriyi QR kodun boyutuna en uygun şekilde ayarlar.
qr.make_image(): Son olarak, bu veriyi ve ayarları kullanarak görsel bir QR kod görüntüsü oluştururuz. fill_color (ön plan) ve back_color (arka plan) parametreleriyle renkleri belirleyebiliriz.
output_folder = "qr_kodlar"
if not os.path.exists(output_folder):
os.makedirs(output_folder)
file_path = os.path.join(output_folder, dosya_adi)
img.save(file_path)
Klasör Oluşturma: os modülünü kullanarak, oluşturulan QR kodlarını düzenli tutmak için qr_kodlar adında bir klasör olup olmadığını kontrol eder ve yoksa oluştururuz.
Kaydetme: img.save() fonksiyonu ile oluşturduğumuz görüntüyü belirttiğimiz yola ve adla kaydederiz.
Tebrikler! Artık kendi QR kodlarınızı kolayca oluşturabiliyorsunuz. Bu proje, harici kütüphanelerin Python projelerimize ne kadar büyük bir değer katabileceğini net bir şekilde gösteriyor. İstediğiniz herhangi bir metin veya URL için bir QR kod oluşturun ve telefonunuzla tarayın!
Yorumlar
Yorum Gönder